Commit Graph

11163 Commits

Author SHA1 Message Date
Fernando Sahmkow 62486dfb4f MaxwellDMA/KeplerCopy: Downgrade DMA log message to Trace.
This log was just to know which games used DMA. It's no longer 
important.
2019-07-18 08:31:38 -04:00
Fernando Sahmkow 57a372439d Gl_Texture_Cache: Remove assert on component type in GetFormatTuple
Textures can have different components types in different orders. This 
assert was completely inprecise and the effectiveness of such is better 
handled by case and within the texture cache.
2019-07-18 08:20:31 -04:00
Fernando Sahmkow a13b47f080 Shader_Ir: Downgrade precision and rounding asserts to debug asserts.
This commit reduces the sevirity of asserts for FP precision and 
rounding as this are well known and have little to no consequences in 
gpu's accuracy.
2019-07-18 08:17:19 -04:00
ReinUsesLisp f63034708f gl_shader_decompiler: Rename bufferImage to imageBuffer
The online OpenGL documentation is wrong. The type definition is
imageBuffer.
2019-07-18 01:16:44 -03:00
ReinUsesLisp bf4cca9510 gl_shader_cache: Fix newline on buffer preprocessor definitions 2019-07-18 01:16:15 -03:00
ReinUsesLisp 93a5cdecbb textures: Fix texture buffer size calculation 2019-07-18 01:07:08 -03:00
ReinUsesLisp 67843df9f6 gl_texture_cache: Do not set texture parameters to buffers 2019-07-18 01:06:26 -03:00
ReinUsesLisp 4f332abb1a gl_texture_cache: Add missing break in CreateTexture 2019-07-18 01:04:18 -03:00
Fernando Sahmkow 27caf7f25f Kernel: Downgrade WaitForAddress and SignalToAddress messages to Trace.
This messages were originally set as warnning since few games used these
svcs and it was needed for debugging. This is no longer the case.
2019-07-17 22:05:47 -04:00
Fernando Sahmkow c9690e912e GL_State: Feedback and fixes 2019-07-17 17:29:56 -04:00
Fernando Sahmkow 527a77ec0a Maxwell3D: Address Feedback 2019-07-17 17:29:55 -04:00
Fernando Sahmkow ca50a64db8 Texture_Cache: Rebase Fixes 2019-07-17 17:29:54 -04:00
Fernando Sahmkow 2f716f52d9 GL_Rasterizer: Corrections to Clearing. 2019-07-17 17:29:54 -04:00
Fernando Sahmkow 8dd4797e00 Maxwell3D: Correct marking dirtiness on CB upload 2019-07-17 17:29:53 -04:00
Fernando Sahmkow 0d34a53c44 GL_Rasterizer: Rework RenderTarget/DepthBuffer clearing 2019-07-17 17:29:52 -04:00
Fernando Sahmkow 89cc60554a Maxwell3D: Implement State Dirty Flags. 2019-07-17 17:29:51 -04:00
Fernando Sahmkow 24bf7e4de0 Maxwell3D: Rework CBData Upload 2019-07-17 17:29:50 -04:00
Fernando Sahmkow 7c50842226 Maxwell3D: Rework the dirty system to be more consistant and scaleable 2019-07-17 17:29:49 -04:00
Fernando Sahmkow 67d869b53a maxwell3d: Implement Conditional Rendering
Conditional Rendering takes care of conditionaly clearing or drawing
depending on a set of queries. This PR implements the query checks to
stablish if things can be rendered or not.
2019-07-17 17:13:19 -04:00
Fernando Sahmkow a1abc0fd31 Merge pull request #2740 from lioncash/bra
shader/decode/other: Correct branch indirect argument within BRA handling
2019-07-17 14:25:08 -04:00
Rodrigo Locatti d877208914 Merge pull request #2726 from lioncash/access
core: Remove CurrentArmInterface() global accessor
2019-07-17 03:42:16 -03:00
Lioncash 41e2ad0f26 shader_ir: std::move Node instance where applicable
These are std::shared_ptr instances underneath the hood, which means
copying them isn't as cheap as a regular pointer. Particularly so on
weakly-ordered systems.

This avoids atomic reference count increments and decrements where they
aren't necessary for the core set of operations.
2019-07-16 19:49:23 -04:00
Lioncash 4d02d971de shader_ir: Rename Get/SetTemporal to Get/SetTemporary
This is more accurate in terms of describing what the functions are
actually doing. Temporal relates to time, not the setting of a temporary
itself.
2019-07-16 19:47:43 -04:00
Lioncash 40a74b1546 shader_ir: Remove unused includes
Removes unnecessary header dependencies.
2019-07-16 19:47:42 -04:00
Fernando Sahmkow 88fddaca00 Shader_Ir: Correct tracking to track from right to left 2019-07-16 15:06:59 -04:00
Fernando Sahmkow 52f9840512 Merge pull request #2565 from ReinUsesLisp/track-indirect
shader/track: Track indirect buffers
2019-07-16 14:58:35 -04:00
Lioncash 778d8fedfa shader/decode/other: Correct branch indirect argument within BRA handling
This appears to have been a copy/paste error introduced within
d5d4cc30ec
2019-07-16 12:20:45 -04:00
ReinUsesLisp 1498ef807d gl_shader_cache: Fix clang-format issues 2019-07-15 20:33:51 -03:00
ReinUsesLisp 1a98408a9e gl_shader_decompiler: Stub local memory size 2019-07-15 17:38:25 -03:00
ReinUsesLisp eb8f2307e1 gl_shader_cache: Address review commentaries 2019-07-15 17:38:25 -03:00
ReinUsesLisp 4ee96c8498 gl_shader_cache: Address CI issues 2019-07-15 17:38:25 -03:00
ReinUsesLisp 37a3fdc6c6 gl_rasterizer: Implement compute shaders 2019-07-15 17:38:25 -03:00
Fernando Sahmkow e221290cb7 Merge pull request #2695 from ReinUsesLisp/layer-viewport
gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shaders
2019-07-15 16:28:07 -04:00
bunnei 9009501845 Merge pull request #2705 from FernandoS27/tex-cache-fixes
GPU: Fixes to Texture Cache and Include Microprofiles for GL State/BufferCopy/Macro Interpreter
2019-07-14 22:44:36 -04:00
ReinUsesLisp a54be6ef96 shader: Allow tracking of indirect buffers without variable offset
While changing this code, simplify tracking code to allow returning
the base address node, this way callers don't have to manually rebuild
it on each invocation.
2019-07-14 22:36:44 -03:00
bunnei 8298de49b0 Merge pull request #2675 from ReinUsesLisp/opengl-buffer-cache
buffer_cache: Implement a generic buffer cache and its OpenGL backend
2019-07-14 19:03:43 -04:00
Fernando Sahmkow 03e55c48d6 Texture_Cache: Address Feedback 2019-07-14 17:42:39 -04:00
Fernando Sahmkow 3cf8851567 Texture_Cache: Remove some unprecise fallback case and clang format 2019-07-14 12:00:32 -04:00
Fernando Sahmkow 5e7b10ec49 Texture_Cache: Force Framebuffer reset if an active render target is unregistered. 2019-07-14 12:00:31 -04:00
Fernando Sahmkow 09d818732f GPU: Add a microprofile for macro interpreter 2019-07-14 12:00:30 -04:00
Fernando Sahmkow ec05f185a3 GL_State: Add a microprofile timer to OpenGL state. 2019-07-14 12:00:30 -04:00
Fernando Sahmkow 9109a3f925 Gl_Texture_Cache: Measure Buffer Copy Times 2019-07-14 12:00:29 -04:00
Fernando Sahmkow c9c7b13f76 Texture_Cache: Correct Linear Structural Match. 2019-07-14 12:00:28 -04:00
Fernando Sahmkow 474c698422 Merge pull request #2690 from SciresM/physmem_fixes
Implement MapPhysicalMemory/UnmapPhysicalMemory
2019-07-14 09:16:46 -04:00
Fernando Sahmkow 43662e376e Merge pull request #2692 from ReinUsesLisp/tlds-f16
shader/texture: Add F16 support for TLDS
2019-07-14 08:44:38 -04:00
Lioncash 102801e196 core: Remove CurrentArmInterface() global accessor
Replaces the final usage of the global accessor function and removes it.
Removes one more enabler of global state.
2019-07-12 21:48:49 -04:00
David Marcec 88565f46b6 Clang format 2019-07-13 01:49:32 +10:00
David Marcec a5e5b9e9c7 Addressed issues 2019-07-13 01:35:40 +10:00
David Marcec 00c7dc08de "AudioRenderer" thread should have a unique name
Creating multiple "AudioRenderer" threads cause the previous thread to be overwritten. The thread will name be renamed to AudioRenderer-InstanceX, where X is the current instance number.
2019-07-13 01:22:08 +10:00
Michael Scire 5ff046b9c6 Remove unicorn mappings/unmappings 2019-07-11 15:12:33 -07:00
bunnei 41d14bcdc5 Merge pull request #2609 from FernandoS27/new-scan
Implement a New Shader Scanner, Decompile Flow Stack and implement BRX BRA.CC
2019-07-11 17:36:23 -04:00
ReinUsesLisp 9f111492cb gl_shader_decompiler: Fix gl_PointSize redeclaration 2019-07-11 16:10:59 -03:00
bunnei 4679f23b21 Merge pull request #2717 from SciresM/unmirror_memory
Restore memory perms on svcUnmapMemory/UnloadNro
2019-07-11 14:57:20 -04:00
bunnei 60108f87a3 Merge pull request #2723 from lioncash/mem
core/arm: Remove obsolete Unicorn memory mapping
2019-07-11 14:56:26 -04:00
Lioncash 96e1a55219 service/am: Implement IsAutoSleepDisabled
This simply queries whether or not auto-sleep facilities are disabled
and has no special handling. It's a basic getter function.
2019-07-11 13:34:55 -04:00
Lioncash 89e1a5848a service/am: Implement SetAutoSleepDisabled
Provides a basic implementation of SetAutoSleepDisabled. Until idle
handling is implemented, this is about the best we can do.

In the meantime, provide a rough documenting of specifics that occur
when this function is called on actual hardware.
2019-07-11 13:09:03 -04:00
Lioncash 66cfba50ed yuzu: Remove setting for using Unicorn
The JIT is mature enough that this setting can be removed, falling back
to Unicorn only on unsupported architectures. Any missing features from
Unicorn (of which there are extremely few), are mostly
developer-oriented, which most users don't care about.

Features should be coordinated with the JIT, not the interpreter,
anyhow.
2019-07-11 05:59:13 -04:00
Lioncash 6b4fd5ccad core/arm: Remove obsolete Unicorn memory mapping
This was initially necessary when AArch64 JIT emulation was in its
infancy and all memory-related instructions weren't implemented.

Given the JIT now has all of these facilities implemented, we can remove
these functions from the CPU interface.
2019-07-11 05:35:46 -04:00
Michael Scire 902cad78ee Restore memory perms on svcUnmapMemory/UnloadNro
Prior to PR, Yuzu did not restore memory to RW-
on unmap of mirrored memory or unloading of NRO.

(In fact, in the NRO case, the memory was unmapped
instead of reprotected to --- on Load, so it was
actually lost entirely...)

This PR addresses that, and restores memory to RW-
as it should.

This fixes a crash in Super Smash Bros when creating
a World of Light save for the first time, and possibly
other games/circumstances.
2019-07-11 01:38:28 -07:00
ReinUsesLisp faa74c08fb gl_shader_decompiler: Fix conditional usage of GL_ARB_shader_viewport_layer_array 2019-07-11 04:27:00 -03:00
bunnei 17a30da7a1 Merge pull request #2697 from lioncash/doc
gl_rasterizer: Amend documentation comment for ConfigureFramebuffers()
2019-07-10 16:38:09 -04:00
bunnei 809e04bfac Merge pull request #2686 from ReinUsesLisp/vk-scheduler
vk_scheduler: Drop execution context in favor of views
2019-07-10 16:35:48 -04:00
bunnei 552d647663 Merge pull request #2700 from ogniK5377/GetFriendList
IFriendService::GetFriendList
2019-07-10 16:29:48 -04:00
bunnei 08a4eb9ef3 Merge pull request #2611 from DarkLordZach/pm-info-cmd
pm: Implement various pm commands for finding process and title IDs
2019-07-10 16:28:29 -04:00
bunnei ee2acf4240 Merge pull request #2650 from DarkLordZach/mii-iface-ver
mii: Implement IDatabaseService SetInterfaceVersion
2019-07-10 16:26:23 -04:00
bunnei 18dc68b259 Merge pull request #2691 from lioncash/override
video_core: Add missing override specifiers
2019-07-10 16:25:43 -04:00
Zach Hilman f458590c85 system_archive: Add open-source reimplementation of MiiModel data 2019-07-10 07:21:36 -04:00
Zach Hilman e88efc046f mii: Handle logging of unknown database source 2019-07-10 07:07:24 -04:00
Fernando Sahmkow 3533ee4697 shader_ir: Add comments on missing instruction.
Also shows Nvidia's address space on comments.
2019-07-09 17:15:45 -04:00
Michael Scire ab4a2b5699 prefer system reference over global accessor 2019-07-09 08:11:35 -07:00
Fernando Sahmkow 5f0c400d43 shader_ir: limit explorastion to best known program size. 2019-07-09 08:14:43 -04:00
Fernando Sahmkow 22f04d827f control_flow: Correct block breaking algorithm. 2019-07-09 08:14:43 -04:00
Fernando Sahmkow e56ebe9d99 control_flow: Assert shaders bigger than limit. 2019-07-09 08:14:42 -04:00
Fernando Sahmkow 848229a9ea control_flow: Address feedback. 2019-07-09 08:14:42 -04:00
Fernando Sahmkow cf3a7c0761 shader_ir: Correct parsing of scheduling instructions and correct sizing 2019-07-09 08:14:41 -04:00
Fernando Sahmkow 0164b108ab shader_ir: Correct max sizing 2019-07-09 08:14:40 -04:00
Fernando Sahmkow be5e508cce shader_ir: Remove unnecessary constructors and use optional for ScanFlow result 2019-07-09 08:14:40 -04:00
Fernando Sahmkow d996ab2d77 shader_ir: Corrections, documenting and asserting control_flow 2019-07-09 08:14:39 -04:00
Fernando Sahmkow 82efa35683 shader_ir: Unify blocks in decompiled shaders. 2019-07-09 08:14:39 -04:00
Fernando Sahmkow d7b3d3a823 shader_ir: Decompile Flow Stack 2019-07-09 08:14:38 -04:00
Fernando Sahmkow 92be9d01aa shader_ir: propagate shader size to the IR 2019-07-09 08:14:37 -04:00
Fernando Sahmkow d5d4cc30ec shader_ir: Implement BRX & BRA.CC 2019-07-09 08:14:37 -04:00
Fernando Sahmkow fc89b55635 shader_ir: Remove the old scanner. 2019-07-09 08:14:36 -04:00
Fernando Sahmkow 48e75bade4 shader_ir: Implement a new shader scanner 2019-07-09 08:14:36 -04:00
David Marcec 127b0dfc77 IFriendService::GetFriendList
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-09 18:20:58 +10:00
Lioncash 5bbae92473 gl_rasterizer: Amend documentation comment for ConfigureFramebuffers()
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-09 02:08:15 -04:00
Michael Scire 4e57de9e0b Prevent merging of device mapped memory blocks.
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-08 22:52:05 -07:00
Zach Hilman 2b3756d167 Merge pull request #2661 from ogniK5377/audren-loop
audren: Only manage wave buffers with a size
2019-07-08 09:35:42 -04:00
Zach Hilman 4a0439e97a Merge pull request #2657 from ogniK5377/npad-assignments
hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignment
2019-07-08 09:35:19 -04:00
David Marcec cdd7c41b36 addressed issues 2019-07-08 14:51:40 +10:00
David Marcec 3b243f1b3e addressed issue 2019-07-08 14:49:16 +10:00
bunnei c8db8fa033 Merge pull request #2651 from DarkLordZach/apm-boost-mode-1
apm: Initial implementation of performance config and boost mode
2019-07-07 21:40:30 -04:00
bunnei 28c3099b5e Merge pull request #2642 from DarkLordZach/fsp-log-2
fsp-srv: Implement Access Logging Functionality
2019-07-07 21:39:40 -04:00
Zach Hilman fe150ae0a4 key_manager: Convert Ticket union to std::variant 2019-07-07 21:38:33 -04:00
Zach Hilman 51374d2489 es: Populate/synthesize tickets on construction 2019-07-07 21:38:33 -04:00
Zach Hilman 7b86f1b7f8 key_manager: Add structure for Ticket parsing 2019-07-07 21:38:33 -04:00
Zach Hilman f48746b485 es: Implement ETicket GetPersonalizedTicketData (17)
Copies the raw personal ticket data into the buffer provided.
2019-07-07 21:38:33 -04:00
Zach Hilman 1558181ac8 es: Implement ETicket GetCommonTicketData (16)
Copies the raw common ticket data for the specified rights ID into the buffer provided.
2019-07-07 21:38:33 -04:00
Zach Hilman b5863d70bb es: Implement ETicket GetPersonalizedTicketSize (15)
Returns the size of the buffer needed to hold the personal ticket associated with the rights ID.
2019-07-07 21:38:33 -04:00
Zach Hilman 40e9ecb944 es: Implement ETicket GetCommonTicketSize (14)
Returns the size of the buffer needed to hold the common ticket associated with the rights ID.
2019-07-07 21:38:33 -04:00
Zach Hilman b7bc1ca0a4 es: Implement ETicket ListPersonalizedTicket (12)
Returns an application-specific number of entries of personal tickets, starting at offset 0.
2019-07-07 21:38:33 -04:00
Zach Hilman d096722c60 es: Implement ETicket ListCommonTicket (11)
Returns an application specified count of entries of common tickets, starting at offset 0.
2019-07-07 21:38:33 -04:00
Zach Hilman df8800b719 es: Implement ETicket CountPersonalizedTicket (10)
Returns the number of personalized (console/user-unique) tickets in the KeyManager.
2019-07-07 21:38:33 -04:00
Zach Hilman 59df34708d es: Implement ETicket CountCommonTicket (9)
Returns the number of common (non-console-unique) tickets in the KeyManager.
2019-07-07 21:38:33 -04:00
Zach Hilman 0ec000ec39 es: Implement ETicket GetTitleKey (8)
Takes a rights ID as input and returns the associated title key, if it exists.
2019-07-07 21:38:33 -04:00
Zach Hilman 73ceeea0e4 es: Implement ETicket ImportTicket (1)
Takes a ticket and certificate and installs it to the KeyManager.
2019-07-07 21:38:33 -04:00
Zach Hilman 2092bde879 key_manager: Add accessors/helpers for ticket management 2019-07-07 21:38:33 -04:00
Zach Hilman a315a7d8ed key_manager: Add equality operator for RSAKeyPair 2019-07-07 21:38:33 -04:00
ReinUsesLisp a650406899 gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shaders
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-07 20:42:55 -03:00
Michael Scire 0e2ec7457a Remove unused member function declaration 2019-07-07 13:02:41 -07:00
Michael Scire 4ce2cda054 physmem: add helpers, cleanup logic. 2019-07-07 12:55:30 -07:00
Tobias d15f1f4e9e Delete decode_integer_set.cpp 2019-07-07 21:40:33 +02:00
Michael Scire 1a0bbd14e7 clang-format fixes 2019-07-07 12:08:29 -07:00
ReinUsesLisp 48d485d6df shader/texture: Add F16 support for TLDS 2019-07-07 16:05:56 -03:00
Michael Scire e0659e3793 address review commentary 2019-07-07 11:48:11 -07:00
Michael Scire 6a33b060b7 Implement MapPhysicalMemory/UnmapPhysicalMemory
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-07 11:45:53 -07:00
Lioncash 5e5e939ef2 kernel/process: Allocate the process' TLS region during initialization
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-07 14:08:28 -04:00
Lioncash edd1ab0311 kernel/process: Move main thread stack allocation to its own function
Keeps this particular set of behavior isolated to its own function.
2019-07-07 14:08:25 -04:00
Lioncash 873b1cee22 vk_sampler_cache: Remove unused includes
These are no longer used within this header, so they can be removed.
2019-07-07 13:40:36 -04:00
Lioncash 85a4cb423d video_core: Add missing override specifiers 2019-07-07 13:38:39 -04:00
Lioncash f9d0248484 yuzu/main: Make error messages within OnCoreError more localization-friendly
Previously, a translated string was being appended onto another string
in a manner that doesn't allow the translator to control where the
appended text is placed. This can be a nuisance for languages where
grammar and text ordering differs from English.

We now append the strings via the format strings themselves, which
allows translators to reorder where the text will be placed.
2019-07-07 11:02:05 -04:00
ReinUsesLisp a7192b9512 vk_scheduler: Drop execution context in favor of views
Instead of passing by copy an execution context through out the whole
Vulkan call hierarchy, use a command buffer view and fence view
approach.

This internally dereferences the command buffer or fence forcing the
user to be unable to use an outdated version of it on normal usage.
It is still possible to keep store an outdated if it is casted to
VKFence& or vk::CommandBuffer.

While changing this file, add an extra parameter for Flush and Finish to
allow releasing the fence from this calls.
2019-07-07 03:30:22 -03:00
Zach Hilman 67e5cb8b21 mii: Implement IDatabaseService SetInterfaceVersion
Appears to set a member variable used to affect the API that games access, and the method used to store data.
2019-07-06 21:39:12 -04:00
Zach Hilman fcf404c244 Merge pull request #2674 from lioncash/reporter
core/reporter: Minor changes
2019-07-06 21:26:40 -04:00
Zach Hilman 1d1a584a6b Merge pull request #2677 from lioncash/assert
kernel/vm_manager: Handle stack/TLS IO region placement a little better
2019-07-06 21:25:27 -04:00
Michael Scire ce79a125cc clang-format fixes 2019-07-06 13:52:05 -07:00
Michael Scire 597e3aadf0 am: Implement GetAccumulatedSuspendedTickValue 2019-07-06 12:13:34 -07:00
Lioncash 47070b5fb4 memory: Remove unused includes
These aren't used within the central memory management code, so they can
be removed.
2019-07-06 02:24:34 -04:00
Lioncash 38c9502a30 memory: Remove unused PageTable forward declaration
This isn't used by anything in the header file, so it can be removed.
2019-07-06 02:24:34 -04:00
Lioncash fa5791150c kernel/vm_manager: Rename 'new map' to 'stack'
Provides a more accurate name for the memory region and also
disambiguates between the map and new map regions of memory, making it
easier to understand.
2019-07-06 02:24:30 -04:00
ReinUsesLisp 56d7606d2c buffer_cache: Avoid [[nodiscard]] to make clang-format happy 2019-07-06 01:17:05 -03:00
ReinUsesLisp 09c775cb05 buffer_cache: Try to fix MinGW build 2019-07-06 01:14:05 -03:00
ReinUsesLisp cb2a4bffd0 gl_rasterizer: Fix nullptr dereference on disabled buffers 2019-07-06 00:37:56 -03:00
ReinUsesLisp e6d37e10db gl_rasterizer: Minor style changes 2019-07-06 00:37:55 -03:00
ReinUsesLisp 3a1fafb474 gl_rasterizer: Fix vertex and index data invalidations 2019-07-06 00:37:55 -03:00
ReinUsesLisp 32b4a2e093 gl_buffer_cache: Implement with generic buffer cache 2019-07-06 00:37:55 -03:00
ReinUsesLisp d3ae5ce80c buffer_cache: Implement a generic buffer cache
Implements a templated class with a similar approach to our current
generic texture cache. It is designed to be compatible with Vulkan and
OpenGL,
2019-07-06 00:37:55 -03:00
ReinUsesLisp b5fe7c096f gl_buffer_cache: Remove global system getters 2019-07-06 00:37:55 -03:00
ReinUsesLisp e9d8c0bdcf gl_device: Query SSBO alignment 2019-07-06 00:37:55 -03:00
ReinUsesLisp 9499333493 gl_buffer_cache: Implement flushing 2019-07-06 00:37:55 -03:00
ReinUsesLisp 5b82a1bea0 gl_rasterizer: Drop gl_global_cache in favor of gl_buffer_cache 2019-07-06 00:37:55 -03:00
ReinUsesLisp a5cfe7d0b1 gl_buffer_cache: Rework to support internalized buffers 2019-07-06 00:37:55 -03:00
ReinUsesLisp 1b416d78b9 gl_buffer_cache: Store in CachedBufferEntry the used buffer handle 2019-07-06 00:37:55 -03:00
ReinUsesLisp 450b4911ed gl_buffer_cache: Return used buffer from Upload function 2019-07-06 00:37:55 -03:00
ReinUsesLisp 388d7506dd gl_rasterizer: Add some commentaries 2019-07-06 00:37:55 -03:00
ReinUsesLisp 39b1990db1 gl_rasterizer: Make DrawParameters rasterizer instance const 2019-07-06 00:37:55 -03:00
ReinUsesLisp 2dfe9aa51e gl_rasterizer: Move index buffer uploading to its own method 2019-07-06 00:37:55 -03:00
Lioncash c208d57f96 kernel/vm_manager: Handle stack/TLS IO region placement better
Handles the placement of the stack a little nicer compared to the
previous code, which was off in a few ways. e.g.

The stack (new map) region, shouldn't be the width of the entire address
space if the size of the region calculation ends up being zero. It
should be placed at the same location as the TLS IO region and also have
the same size.

In the event the TLS IO region contains a size of zero, we should also
be doing the same thing. This fixes our memory layout a little bit and
also resolves some cases where assertions can trigger due to the memory
layout being incorrect.
2019-07-05 21:57:31 -04:00
Lioncash d360b7465f core/reporter: Allow moves into SaveToFile()
Taking the json instance as a constant reference, makes all moves into
the parameter non-functional, resulting in copies. Taking it by value
allows moves to function.
2019-07-05 17:45:34 -04:00
Lioncash 770387fadb core/reporter: Add missing includes and forward declarations
Adds missing inclusions to prevent potential compilation issues.
2019-07-05 17:45:24 -04:00
Lioncash 0756025102 core/reporter: Remove unnecessary namespace qualifiers
The Reporter class is part of the Core namespace, so the System class
doesn't need to be qualified.
2019-07-05 17:09:26 -04:00
Lioncash 6e9c716272 core/reporter: Remove pessimizing move in GetHLERequestContextData()
This can inhibit copy-elision, so we can remove this redundant move.
2019-07-05 17:08:13 -04:00
Lioncash 174e596d56 core/reporter: Make bracing consistent
Makes all control statements braced, regardless of their size, making
code more uniform.
2019-07-05 17:05:27 -04:00
Lioncash 5db1fdfa4a core/reporter: Return in error case in SaveToFile()
If the path couldn't be created, then we shouldn't be attempting to save
the file.
2019-07-05 17:02:32 -04:00
Fernando Sahmkow 658934de85 NVServices: Correct delayed responses. 2019-07-05 15:49:35 -04:00
Fernando Sahmkow cbb5d814bc Nv_Host_Ctrl: Correct difference calculation 2019-07-05 15:49:34 -04:00
Fernando Sahmkow 94a7beb8b9 NVServices: Address Feedback 2019-07-05 15:49:33 -04:00
Fernando Sahmkow b8b874005f NVServices: Styling, define constructors as explicit and corrections 2019-07-05 15:49:32 -04:00
Fernando Sahmkow a156731a9c NVFlinger: Correct GCC compile error 2019-07-05 15:49:31 -04:00
Fernando Sahmkow 9db53b51b6 NVServices: Make NVEvents Automatic according to documentation. 2019-07-05 15:49:29 -04:00
Fernando Sahmkow 1238b13642 NVServices: Correct CtrlEventWaitSync to block the ipc until timeout. 2019-07-05 15:49:28 -04:00
Fernando Sahmkow 604dc3f59b GPU: Correct Interrupts to interrupt on syncpt/value instead of event, mirroring hardware 2019-07-05 15:49:26 -04:00
Fernando Sahmkow bd05d92c26 nvflinger: Make the force 30 fps still force 30 fps 2019-07-05 15:49:25 -04:00
Fernando Sahmkow 575bf9d7fb nv_services: Fixes to event liberation. 2019-07-05 15:49:24 -04:00
Fernando Sahmkow 4aa0a8add2 nvflinger: Acquire buffers in the same order as they were queued. 2019-07-05 15:49:23 -04:00
Fernando Sahmkow 531e3431fb nv_services: Deglobalize NvServices 2019-07-05 15:49:22 -04:00
Fernando Sahmkow 78c4536960 gpu_asynch: Simplify synchronization to a simpler consumer->producer scheme. 2019-07-05 15:49:20 -04:00
Fernando Sahmkow 772d205e8f nv_host_ctrl: Make Sync GPU variant always return synced result. 2019-07-05 15:49:20 -04:00
Fernando Sahmkow b18365ed59 Async GPU: do invalidate as synced operation
Async GPU: Always invalidate synced.
2019-07-05 15:49:19 -04:00
Fernando Sahmkow ff34715d92 Gpu: use an std mutex instead of a spin_lock to guard syncpoints 2019-07-05 15:49:18 -04:00
Fernando Sahmkow 58f62368b3 nvhost_ctrl: Corrections to event handling 2019-07-05 15:49:17 -04:00
Fernando Sahmkow 095e6b1cd9 Gpu: Mark areas as protected. 2019-07-05 15:49:16 -04:00
Fernando Sahmkow 8c8e96b87c nv_services: Stub CtrlEventSignal 2019-07-05 15:49:15 -04:00
Fernando Sahmkow 1fb8727a9a Gpu: Implement Hardware Interrupt Manager and manage GPU interrupts 2019-07-05 15:49:14 -04:00
Fernando Sahmkow 9a3dea2bdc nv_services: Implement NvQueryEvent, NvCtrlEventWait, NvEventRegister, NvEventUnregister 2019-07-05 15:49:13 -04:00
Fernando Sahmkow 5ff576460e nv_services: Create GPU channels correctly 2019-07-05 15:49:12 -04:00
Fernando Sahmkow 779c115dbb video_core: Implement GPU side Syncpoints 2019-07-05 15:49:11 -04:00
Fernando Sahmkow 6fd625d497 nv_services: Correct buffer queue fencing and GPFifo fencing 2019-07-05 15:49:10 -04:00
Fernando Sahmkow feac2e189e nvflinger: Implement swap intervals 2019-07-05 15:49:08 -04:00
Zach Hilman 3f7c8053c6 Merge pull request #2601 from FernandoS27/texture_cache
Implement a new Texture Cache
2019-07-05 13:39:13 -04:00
Fernando Sahmkow c3c7215820 texture_cache: Address Feedback 2019-07-05 09:46:53 -04:00
Fernando Sahmkow 98de1132e7 texture_cache: Correct Texture Buffer Uploading 2019-07-04 19:38:19 -04:00
Zach Hilman 04ae4a56e1 Merge pull request #2669 from FearlessTobi/move-cpujit-setting
yuzu: Move CPU Jit setting to Debug tab
2019-07-04 15:33:59 -04:00
Zach Hilman df8e0e1b33 Merge pull request #2555 from lioncash/tls
kernel/process: Decouple TLS handling from threads
2019-07-04 15:32:32 -04:00
fearlessTobi 662ff325bf yuzu: Remove CPU Jit setting from the UI
A normal user shouldn't change this, as it will slow down the emulation and can lead to bugs or crashes. The renaming is done in order to prevent users from leaving this on without a way to turn it off from the UI.
2019-07-04 14:48:08 +02:00
bunnei 387f99c4d6 Merge pull request #2670 from DarkLordZach/fix-merge-discrep-1
gl_shader_cache: Make CachedShader constructor private
2019-07-04 03:03:44 -04:00
bunnei 89a4d5342c Merge pull request #2658 from ogniK5377/QueryAudioDeviceOutputEvent
IAudioDevice::QueryAudioDeviceOutputEvent
2019-07-04 01:42:22 -04:00
bunnei cfe89534e2 Merge pull request #2638 from DarkLordZach/quest-flag
set: Implement GetQuestFlag with config option
2019-07-04 01:40:41 -04:00
Zach Hilman 113e92bdd1 gl_shader_cache: Make CachedShader constructor private
Fixes missing review comments introduced.
2019-07-03 20:39:46 -04:00
Lioncash 63b8ef17d5 kernel/process: Default initialize all member variables
Ensures a Process instance is always created with a deterministic
initial state.
2019-07-03 20:31:40 -04:00
Lioncash 89a030a376 kernel/process: Decouple TLS handling from threads
Extracts out all of the thread local storage management from thread
instances themselves and makes the owning process handle the management
of the memory. This brings the memory management slightly more in line
with how the kernel handles these allocations.

Furthermore, this also makes the TLS page management a little more
readable compared to the lingering implementation that was carried over
from Citra.
2019-07-03 20:31:40 -04:00
Lioncash 30d4abdd7a kernel/vm_manager: Add overload of FindFreeRegion() that operates on a boundary
This will be necessary for making our TLS slot management slightly more
straightforward. This can also be utilized for other purposes in the
future.

We can implement the existing simpler overload in terms of this one
anyways, we just pass the beginning and end of the ASLR region as the
boundaries.
2019-07-03 20:29:49 -04:00
Zach Hilman c77f1a9743 Merge pull request #2613 from ogniK5377/InitalizeApplicationInfo
Implemented InitializeApplicationInfo & InitializeApplicationInfoRestricted
2019-07-03 20:23:56 -04:00
Zach Hilman 53d4cc417f Merge pull request #2608 from ogniK5377/Time_GetSharedMemoryNativeHandle
Implement Time::GetSharedMemoryNativeHandle
2019-07-03 20:22:23 -04:00
Zach Hilman 5cd6611037 Merge pull request #2563 from ReinUsesLisp/shader-initializers
gl_shader_cache: Use static constructors for CachedShader initialization
2019-07-03 20:20:05 -04:00
Zach Hilman 0bcf3756a8 acc_su: Implement GetProfileEditor (205)
Takes a UUID of a user and provides and interface that allows RW access to user data/settings.
2019-07-03 07:57:41 -05:00
Zach Hilman 9cb38c327a acc: Implement IProfileEditor-specific commands 'Store' and 'StoreWithImage'
Verified with IDA
2019-07-03 07:57:03 -05:00
Zach Hilman d25b6dae26 profile_manager: Add setter for ProfileBase and ProfileData
Needed by IProfileEditor 'Store' and 'StoreWithImage'
2019-07-03 07:56:28 -05:00
Zach Hilman 151feaf21b acc: Add IProfileCommon for IProfile and IProfileEditor
Since 2/3 of the commands are shared, this is likely how its done on HW.
2019-07-03 07:55:54 -05:00
bunnei ab85f9a7fe Merge pull request #2604 from ogniK5377/INotificationService
Implemented INotificationService
2019-07-02 23:32:57 -04:00
bunnei 68d323b042 Merge pull request #2659 from FernandoS27/safe-caches
rasterizer_cache: Protect inherited caches from submission level
2019-07-02 22:27:04 -04:00
Bakugo 81c1c139fe file_sys: Rename other ContentRecordType members 2019-07-02 00:57:23 +01:00
David Marcec 846440ab93 audren: Only manage wave buffers with a size
We shouldn't be incrementing if wave buffers are empty. They are considered invalid/unused wave buffers.

This fixes the issue of certain sounds looping when they shouldn't
2019-07-01 21:20:23 +10:00
Fernando Sahmkow e4fa20d3e3 rasterizer_cache: Protect inherited caches from submission level 2019-07-01 04:32:01 -04:00
David Marcec f7d0320b84 IAudioDevice::QueryAudioDeviceOutputEvent
The event should only be signaled when an output audio device gets changed. Example, Speaker to USB headset. We don't identify different devices internally yet so there's no need to signal the event yet.
2019-07-01 18:05:44 +10:00
Bakugo e377bcd699 file_sys/registered_cache: Improve missing metadata error
This can happen when installing NSPs too, not just XCIs.
2019-07-01 07:31:32 +01:00
Bakugo d046ef7112 file_sys/submission_package: Don't warn about missing DeltaFragment NCAs
DeltaFragments are not useful to us and are often not included in patch NSPs.
2019-07-01 06:46:05 +01:00
Bakugo 88a70b40ba file_sys/registered_cache: Ignore DeltaFragment NCAs during installation
DeltaFragments are only used to download and apply partial patches on a real console, and are not useful to us at all. Most patch NSPs do not include them, and when they do, it's a waste of space to install them.
2019-07-01 06:37:22 +01:00
Bakugo 29f1d01c06 file_sys: Rename ContentRecordType::Patch to DeltaFragment
Avoids potential confusion, since patches and DeltaFragments are not the same thing. Actual full patches are listed under the Program type.
2019-07-01 06:32:13 +01:00
David Marcec f9eeba983f hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignment
StartLrAssignmentMode and StopLrAssignmentMode don't require any implementation as it's just used for showing the screen of changing the controller orientation if the user wishes to do so.  Ever since #1634 this has not been needed as users can specify the controller orientation from the config and swap at any time. We store a private member just in case this gets used for anything extra in the future
2019-07-01 15:12:57 +10:00
bunnei 35c44f37f2 Merge pull request #2583 from FernandoS27/core-timing-safe
Core_Timing: Make core_timing threadsafe by default.
2019-06-30 12:54:00 -04:00
ReinUsesLisp d63e3694a9 texture_cache: Pack sibling queries inside a method 2019-06-29 20:47:46 -03:00
ReinUsesLisp f62b935c96 texture_cache: Use std::vector reservation for sampled_textures 2019-06-29 20:10:31 -03:00
ReinUsesLisp 7aab8bd6cf texture_cache: Style changes 2019-06-29 19:52:37 -03:00
ReinUsesLisp 9102684cff texture_cache: Use std::array for siblings_table 2019-06-29 18:54:13 -03:00
ReinUsesLisp cff02c291c texture_cache: Address feedback 2019-06-29 17:29:39 -03:00
Zach Hilman a6f0026b75 am: Implement SetCpuBoostMode in terms of APM 2019-06-28 22:46:51 -04:00
Zach Hilman f7ed383a84 core: Keep instance of APM Controller 2019-06-28 22:46:31 -04:00
Zach Hilman 1564a8835c apm: Implement SetCpuBoostMode 2019-06-28 22:46:00 -04:00
Zach Hilman b4838ee850 apm: Add getters for performance config and mode 2019-06-28 22:45:31 -04:00
Zach Hilman 5870cce7e1 apm: Add apm:am service
8.0.0+ identical version of apm
2019-06-28 22:44:30 -04:00
Zach Hilman 80c4d6eaf8 apm: Add Controller class to manage speed data and application 2019-06-28 22:43:51 -04:00
Zach Hilman ac6474a66f fsp-srv: Implement GetAccessLogVersionInfo
Returns some misc. data about logging to help the game determine if it should log.
2019-06-28 21:05:42 -04:00
Zach Hilman 0add7f4ccb reporter: Add report class for filesystem access logs 2019-06-28 21:02:50 -04:00
Zach Hilman 512a47c184 fsp-srv: Implement OutputAccessLogToSdCard
Allows games to log data to the SD.
2019-06-28 21:02:34 -04:00
Zach Hilman 03191c612a set: Implement GetQuestFlag
Simply returns a true/false value indicating if the system is a kiosk system. This has been mapped to a config option for the purposes of yuzu.
2019-06-28 18:38:47 -04:00
Zach Hilman 5def076ff4 settings: Add config option for kiosk (quest) mode 2019-06-28 18:37:33 -04:00
bunnei e82d461580 Merge pull request #2533 from DarkLordZach/memory-frozen
memory: Add class to manage and enforce memory freezing
2019-06-28 14:03:38 -04:00
David Marcec d81178e7e6 Attemp clang format fix?
Seems to be an issue with clang format
2019-06-28 22:08:50 +10:00
David Marcec 0a5474ed7c Added errors.h to cmakelist 2019-06-28 15:31:29 +10:00
David Marcec 4ec3475acc Addressed issues 2019-06-28 15:29:38 +10:00
David Marcec e2e69ef605 Addressed issues 2019-06-28 15:19:51 +10:00
David Marcec a08b4d77c8 Implemented InitializeApplicationInfo & InitializeApplicationInfoRestricted
InitializeApplicationInfoRestricted will need further implementation as it's checking for other user requirements about the game. As we're emulating, we're assuming the user owns the game so we skip these checks currently, implementation will need to be added further on
2019-06-27 16:44:42 +10:00
Zach Hilman a37e318a69 pm: Implement pm:shell and pm:dmnt GetApplicationPid
Returns the process ID of the current application or 0 if no app is running.
2019-06-26 19:07:34 -04:00
Zach Hilman 0bc1fc3fcf pm: Implement pm:dmnt GetTitlePid
Takes a title ID and searches for a matching process, returning error if it doesn't exist, otherwise the process ID.
2019-06-26 19:06:51 -04:00
Zach Hilman afcab374d1 pm: Implement pm:info GetTitleId
Searches the process list for a process with the specified ID, returning the title ID if it exists.
2019-06-26 19:05:04 -04:00
bunnei 20c34dea2e Merge pull request #2548 from DarkLordZach/applet-shopn
applets: Implement backend and default frontend for Parental Controls and EShop (ShopN) applets
2019-06-26 15:55:24 -04:00
David Marcec 3c8723cb74 Addressed issues 2019-06-26 16:52:34 +10:00
Zach Hilman 12105d8909 glue: Correct missing bytes in ApplicationLaunchParameter 2019-06-25 22:25:10 -04:00
Fernando Sahmkow d368dbfb1a texture_cache: Correct variable naming. 2019-06-25 19:35:08 -04:00
Fernando Sahmkow ddcac58e02 gl_texture_cache: Correct asserts 2019-06-25 19:26:59 -04:00
Fernando Sahmkow ed8f90a679 texture_cache: Corrections, documentation and asserts 2019-06-25 18:36:19 -04:00
Fernando Sahmkow 4cbbcaa004 surface_params: Corrections, asserts and documentation. 2019-06-25 18:03:25 -04:00
Fernando Sahmkow db0a2db61c copy_params: use constexpr for constructor 2019-06-25 17:42:50 -04:00
Fernando Sahmkow fd89a8f7cf gl_texture_cache: Corrections and fixes 2019-06-25 17:40:08 -04:00
Fernando Sahmkow 50fb666296 gl_resource_manager: Correct MakeStreamCopy 2019-06-25 17:32:04 -04:00
Fernando Sahmkow 10e30eb735 texture_cache: Query MemoryManager from the system 2019-06-25 17:26:00 -04:00
David Marcec dac62b07bf Implement Time::GetSharedMemoryNativeHandle
This PR attempts to implement the shared memory provided by GetSharedMemoryNativeHandle. There is still more work to be done however that requires a rehaul of the current time module to handle clock contexts. This PR is mainly to get the basic functionality of the SharedMemory working and allow the use of addition to it whilst things get improved on.

Things to note:
Memory Barriers are used in the SharedMemory and a better solution would need to be done to implement this. Currently in this PR I’m faking the memory barriers as everything is sync and single threaded. They work by incrementing the counter and just populate the two data slots. On data reading, it will read the last added data.

Specific values in the shared memory would need to be updated periodically. This isn't included in this PR since we don't actively do this yet. In a later PR when time is refactored this should be done.

Finally, as we don't handle clock contexts. When time is refactored, we will need to update the shared memory for specific contexts. This PR does this already however since the contexts are all identical and not separated. We're just updating the same values for each context which in this case is empty.

Tiime:SetStandardUserSystemClockAutomaticCorrectionEnabled, Time:IsStandardUserSystemClockAutomaticCorrectionEnabled are also partially implemented in this PR. The reason the implementation is partial is because once again, a lack of clock contexts. This will be improved on in a future PR.

This PR closes issue #2556
2019-06-26 00:45:53 +10:00
David Marcec 9a4d35fd46 SizedNotificationInfo should be 0x10 bytes, user_uuid is incorrect, this should be the users account id 2019-06-25 15:19:37 +10:00
David Marcec c557b50022 fixed spelling errors and fixed issue with Pop not returning the SizedNotificationInfo 2019-06-25 11:23:23 +10:00
Zach Hilman 2f49b0e0b1 applets: Pass current process title ID to applets
Avoids using system accessor to get current process in applet code.
2019-06-24 20:07:10 -04:00
Zach Hilman 7de7e83df0 general_frontend: Add documentation for parental controls and ecommerce applets 2019-06-24 20:05:11 -04:00
Zach Hilman d2ba9e2f09 web_browser: Only delete temporary directory if it was created
Prevents crashes with ShopN applet occasionally.
2019-06-24 20:05:11 -04:00
Zach Hilman 9425e3c388 web_browser: Take ECommerce applet frontend optionally in constructor
If it is needed but wasn't passed (or passed nullptr), the Shop handling code will alert and throw an error.
2019-06-24 20:05:11 -04:00
Zach Hilman a2a6d68083 frontend: Add base class and default impl for ECommerce applet frontend 2019-06-24 20:05:11 -04:00
Zach Hilman 7bcf8e8305 web_browser: Use function tables for execute and initialize
Allows easy handling of multiple shim types, as they have enough in common to be the same backend but not enough to share init/exec.
2019-06-24 20:05:11 -04:00
Zach Hilman 1322c2ff7a web_browser: Correct structures and properly parse TLVs/ShimKind
Much, much more HW-accurate and allows us to easily support all of the different web 'shim' types.
2019-06-24 20:05:11 -04:00
Zach Hilman 99d5bd091d yuzu: Accept default applets for Parental Controls and ECommerce 2019-06-24 20:05:11 -04:00
Zach Hilman 30735156ff applets: Track ECommerce and Parental Control applet frontends 2019-06-24 20:05:11 -04:00
Zach Hilman 76bf6c6ea9 web_browser: Rename OpenPage to OpenPageLocal
This is more representative of what actually occurs, as web does support remote URLs which wouldn't need a romfs callback. This paves for easy future support of this with a call like 'OpenPageRemote' or similar.
2019-06-24 20:05:11 -04:00
Zach Hilman cff3014921 frontend: Add base class and default impl of parent controls applet frontend 2019-06-24 20:05:11 -04:00
Zach Hilman 9f43c3de05 applets: Implement Auth applet backend
This is responsible for parental controls and supports verifying, changing, and registering PIN codes.
2019-06-24 20:05:11 -04:00
Zach Hilman 22bea84c51 core: Keep track of ARPManager and register current application on boot 2019-06-24 19:27:35 -04:00
Zach Hilman 430a52ecb3 glue: Implement arp:w and arp:r services
These keep track of running process' launch properties and control properties and allows for issuing and reading them by process and title ID.
2019-06-24 19:26:16 -04:00
Zach Hilman 837cc28dae glue: Add errors for glue/arp services 2019-06-24 19:20:28 -04:00
Zach Hilman 5a9560cb33 glue: Add scaffolding for bgtc:t and bgtc:sc services 2019-06-24 19:20:06 -04:00
Zach Hilman 72306a95da arp: Move to glue services
Glue is the name of the sysmodule that contains both arp and bgtc.
2019-06-24 19:17:48 -04:00
Zach Hilman 37a7c17014 glue: Add manager to keep track of application registry
Manages mapping between title IDs and application launch and control properties.
2019-06-24 19:17:13 -04:00
Zach Hilman fb8b87dbaf registered_cache: Add getter to determine source slot in content provider union
Used to determine StorageId source for application data.
2019-06-24 19:10:17 -04:00
Zach Hilman 7891b418d4 patch_manager: Add getter for title version 2019-06-24 19:05:50 -04:00
ReinUsesLisp ee6be4831a texture_cache: Include "core/core.h" 2019-06-24 02:15:57 -03:00
ReinUsesLisp bfd43e2ce9 gl_texture_cache: Explicitly add indirect include 2019-06-24 02:13:55 -03:00
ReinUsesLisp 1d1ce69f6c texture_cache/surface_view: Address feedback 2019-06-24 02:09:56 -03:00
ReinUsesLisp dea180d83f texture_cache/surface_base: Address feedback 2019-06-24 02:08:52 -03:00
ReinUsesLisp f845ce6aa5 video_core/surface: Address feedback 2019-06-24 02:07:11 -03:00
ReinUsesLisp 7478665d14 decode/texture: Address feedback 2019-06-24 02:05:05 -03:00
ReinUsesLisp b57ce711bb renderer_opengl/utils: Remove unused includes and unused forward declaration 2019-06-24 02:03:37 -03:00
ReinUsesLisp 1f6a1240e0 gl_texture_cache: Address some feedback 2019-06-24 02:01:44 -03:00
ReinUsesLisp 5c56ded8a5 gl_shader_disk_cache: Address feedback 2019-06-24 01:59:32 -03:00
ReinUsesLisp 01142f4176 gl_shader_decompiler: Address feedback 2019-06-24 01:56:38 -03:00
ReinUsesLisp 7eed876cfb shader_bytecode: Include missing <array> 2019-06-24 01:51:02 -03:00
ReinUsesLisp 84878d07a9 common/alignment: Address feedback 2019-06-24 01:47:09 -03:00
David Marcec 0a47457838 Implemented INotificationService 2019-06-24 12:26:45 +10:00
Thomas May 3fc5127a9f Update reporter.cpp 2019-06-22 14:39:52 +01:00
bunnei 1cf0f04ab3 Merge pull request #2579 from ReinUsesLisp/fix-aoffi-test
gl_device: Fix TestVariableAoffi test
2019-06-21 15:28:55 -04:00
bunnei 726dea6e3d Merge pull request #2602 from lioncash/cast
service/acc: Silence truncation warnings
2019-06-21 15:27:25 -04:00
bunnei 9ee4e61659 Merge pull request #2575 from DarkLordZach/process-id-types
kernel: Differentiate kernel and user processes when picking ID
2019-06-21 15:25:50 -04:00
bunnei a43061206c Merge pull request #2546 from DarkLordZach/kips
loader, file_sys: Add support for parsing and loading KIP (Kernel Internal Process) files
2019-06-21 14:28:18 -04:00
bunnei 36090e6a67 Merge pull request #2482 from DarkLordZach/prepo
core: Add detailed local reporting feature for development
2019-06-21 14:05:18 -04:00
bunnei 9eea1379d4 Merge pull request #2291 from DarkLordZach/homebrew-testing
yuzu_tester: Add and implement testing utility for homebrew
2019-06-21 11:42:38 -04:00
Lioncash ee7b682ee0 service/acc: Silence truncation warnings
The sanitizing function ensures that the returned type is always the
correct type. This eliminates warnings without extra casts.
2019-06-21 10:04:31 -04:00
Fernando Sahmkow b62d22a77d texture_cache: Style and Corrections 2019-06-20 21:24:47 -04:00
Fernando Sahmkow cd09242f40 shader_cache: Correct versioning and size calculation. 2019-06-20 21:38:34 -03:00
Fernando Sahmkow c8c2b09c36 texture_cache: Eliminate linear textures fallthrough 2019-06-20 21:38:34 -03:00
Fernando Sahmkow 8660ceb08e texture_cache: Correct format R16U as sibling 2019-06-20 21:38:34 -03:00
Fernando Sahmkow 12fdf117a5 texture_cache: Implement texception detection and texture barriers. 2019-06-20 21:38:34 -03:00
Fernando Sahmkow aa94638d43 texture_cache: Corrections to buffers and shadow formats use. 2019-06-20 21:38:34 -03:00
Fernando Sahmkow ef3fbc8e66 texture_cache: Implement Irregular Views in surfaces 2019-06-20 21:38:34 -03:00
Fernando Sahmkow 7afd5d2367 surface: Correct format S8Z24 2019-06-20 21:38:34 -03:00
Fernando Sahmkow caaf9ff941 texture_cache: Initialize all siblings to invalid pixel format. 2019-06-20 21:38:34 -03:00
Fernando Sahmkow 4231d3ef8a gl_texture_cache: Use Stream Buffers instead of Persistant for Buffer Copies. 2019-06-20 21:38:34 -03:00
Fernando Sahmkow 3b011be41f gl_texture_cache: Correct Image Blit 2019-06-20 21:38:34 -03:00
Fernando Sahmkow 18322c1369 decoders: correct block calculation 2019-06-20 21:38:34 -03:00
Fernando Sahmkow 9abe6fcdfa texture_cache: Use siblings textures on Rebuild and fix possible error on blitting 2019-06-20 21:38:34 -03:00
Fernando Sahmkow caeaf6bb04 texture_cache: Remove old rasterizer cache 2019-06-20 21:38:34 -03:00
Fernando Sahmkow a42842d593 texture_cache: Implement siblings texture formats. 2019-06-20 21:38:34 -03:00
Fernando Sahmkow c15d41e8cd fermi2d: Correct Origin Mode 2019-06-20 21:38:34 -03:00
Fernando Sahmkow 5865e58a62 texture_cache: correct texture buffer on surface params 2019-06-20 21:38:34 -03:00
Fernando Sahmkow 72f80de0fe texture_cache: eliminate accelerated depth->color/color->depth copies due to driver instability. 2019-06-20 21:38:34 -03:00
Fernando Sahmkow d65fc04d95 texture_cache: correct mutex locks 2019-06-20 21:38:34 -03:00
Fernando Sahmkow d826617314 shader_ir: Fix image copy rebase issues 2019-06-20 21:38:34 -03:00
Fernando Sahmkow b18e9ad514 texture_cache: Don't Image Copy if component types differ 2019-06-20 21:38:34 -03:00
Fernando Sahmkow d3596eaead texture_cache: move some large methods to cpp files 2019-06-20 21:38:34 -03:00
Fernando Sahmkow e128d056dc texture_cache: Optimize GetSurface and use references on functions that don't change a surface. 2019-06-20 21:38:33 -03:00
Fernando Sahmkow de6e9eb29a texture_cache: Implement Buffer Copy and detect Turing GPUs Image Copies 2019-06-20 21:38:33 -03:00
Fernando Sahmkow 12649d1daf texture_cache uncompress-compress is untopological.
This makes conflicts between non compress and compress textures to be 
auto recycled. It also limits the amount of mipmaps a texture can have 
if it goes above it's limit.
2019-06-20 21:38:33 -03:00
Fernando Sahmkow ae0dbf5c73 texture_cache: Correct copying between compressed and uncompressed formats 2019-06-20 21:38:33 -03:00
Fernando Sahmkow f13806a7aa texture_cache: Only load on recycle with accurate GPU.
Testing so far has proven this to be quite safe as texture memory read 
added a 2-5ms load to the current cache.
2019-06-20 21:38:33 -03:00
Fernando Sahmkow 76b68c74a7 Fix rebase errors 2019-06-20 21:38:33 -03:00
Fernando Sahmkow b5ce82c66a texture_cache: Handle uncontinuous surfaces. 2019-06-20 21:38:33 -03:00
Fernando Sahmkow 94036d27ec texture_cache: return null surface on invalid address 2019-06-20 21:38:33 -03:00
Fernando Sahmkow dbc71a6076 texture_cache: Add checks for texture buffers. 2019-06-20 21:38:33 -03:00
Fernando Sahmkow bc8f3d4964 texture_cache: Fermi2D reform and implement View Mirage
This also does some fixes on compressed textures reinterpret and on the
Fermi2D engine in general.
2019-06-20 21:38:33 -03:00
ReinUsesLisp fba886bd2b gl_shader_decompiler: Implement image binding settings 2019-06-20 21:38:33 -03:00
ReinUsesLisp 7e4a7929f8 shader: Implement bindless images 2019-06-20 21:38:33 -03:00
ReinUsesLisp 224e4e174d shader: Decode SUST and implement backing image functionality 2019-06-20 21:38:33 -03:00
ReinUsesLisp f6828170f3 gl_rasterizer: Track texture buffer usage 2019-06-20 21:38:33 -03:00
ReinUsesLisp 5c7c87cc03 video_core: Make ARB_buffer_storage a required extension 2019-06-20 21:36:12 -03:00
ReinUsesLisp 8a592f8cd8 gl_rasterizer_cache: Use texture buffers to emulate texture buffers 2019-06-20 21:36:12 -03:00
ReinUsesLisp 91b16d383a maxwell_3d: Partially implement texture buffers as 1D textures 2019-06-20 21:36:12 -03:00
ReinUsesLisp 8f28295b4d gl_shader_decompiler: Allow 1D textures to be texture buffers 2019-06-20 21:36:12 -03:00
ReinUsesLisp 27cd63a05a shader: Implement texture buffers 2019-06-20 21:36:12 -03:00
Fernando Sahmkow f42ada6945 texture_cache: loose TryReconstructSurface when accurate GPU is not on.
Also corrects some asserts.
2019-06-20 21:36:12 -03:00
Fernando Sahmkow 8683fa1930 texture_cache: Document the most important methods. 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 687bf35b34 texture_cache: Try to Reconstruct Surface on bigger than overlap.
This fixes clouds in SMO Cap Kingdom and lens on Cloud Kingdom.
Also moved accurate_gpu setting check to Pick Strategy
2019-06-20 21:36:12 -03:00
Fernando Sahmkow cce4f7cd76 texture_cache: Implement Guard mechanism 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 53e9e3966a texture_cache: General Fixes
Fixed ASTC mipmaps loading
Fixed alignment on openGL upload/download
Fixed Block Height Calculation
Removed unalign_height
2019-06-20 21:36:12 -03:00
ReinUsesLisp c50c889111 surface_params: Ensure pitch is always written to avoid surface leaks 2019-06-20 21:36:12 -03:00
ReinUsesLisp 32e588df63 gl_framebuffer_cache: Use a hashed struct to cache framebuffers 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 4298dc8290 texture_cache return invalid buffer on deactivated color_mask 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 7884bf60a6 engine_upload: Addapt to new Texture Cache 2019-06-20 21:36:12 -03:00
ReinUsesLisp 291139ade3 surface_params: Optimize CreateForTexture
Instead of using Common::AlignUp, use Common::AlignBits to align the
texture compression factor.
2019-06-20 21:36:12 -03:00
Fernando Sahmkow b4aed46661 gl_texture_cache: Make main views be proxy textures instead of a full view. 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 0484a115f3 texture_cache: Add ASync Protections 2019-06-20 21:36:12 -03:00
Fernando Sahmkow eaa5069c7f Remove Framebuffer reconfiguration and restrict rendertarget protection 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 4bbc66d1e5 texture_cache: Implement GPU Dirty Flags 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 70071a17df texture_cache: Optimize GetMipBlockHeight and GetMipBlockDepth 2019-06-20 21:36:12 -03:00
Fernando Sahmkow e29718534b texture_cache: Implement L1_Inner_cache 2019-06-20 21:36:12 -03:00
ReinUsesLisp 1d10810d2b video_core: Use un-shifted block sizes to avoid integer divisions
Instead of storing all block width, height and depths in their shifted
form:

block_width = 1U << block_shift;

Store them like they are provided by the emulated hardware (their
block_shift form). This way we can avoid doing the costly
Common::AlignUp operation to align texture sizes and drop CPU integer
divisions with bitwise logic (defined in Common::AlignBits).
2019-06-20 21:36:12 -03:00
ReinUsesLisp 822cc4b92d texture_cache: Change internal cache from lists to vectors 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 20e97604f1 Reduce amount of size calculations. 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 73538e80a6 texture_cache: Correct premature texceptions
Due to our current infrastructure, it is possible for a mipmap to be set 
on as a render target before a texception of that mipmap's superset be 
set afterwards. This is problematic as we rely on texture views to set 
up texceptions and protecting render targets targets for 3D texture 
rendering.

One simple solution is to configure framebuffers after texture setup but 
this brings other problems. This solution, forces a reconfiguration of 
the framebuffers after such event happens.
2019-06-20 21:36:12 -03:00
Fernando Sahmkow ab7fd4a084 texture_cache: Implement guest flushing 2019-06-20 21:36:12 -03:00
Fernando Sahmkow b84179af46 Fixes to mipmap's process and reconstruct process 2019-06-20 21:36:12 -03:00
ReinUsesLisp f43bf87e8a surface_base: Add parenthesis to EmplaceOverview's predicate 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 6b7e019bc6 Texture Cache: Implement Blitting and Fermi Copies 2019-06-20 21:36:12 -03:00
ReinUsesLisp 90066da53f surface_view: Add constructor for ViewParams 2019-06-20 21:36:12 -03:00
ReinUsesLisp 265eb2d076 surface_base: Split BreakDown into layered and non-layered variants 2019-06-20 21:36:12 -03:00
ReinUsesLisp cd1a36021d surface_base: Silence truncation warnings and minor renames and reordering 2019-06-20 21:36:12 -03:00
ReinUsesLisp 2f3aa02618 copy_params: Use constructor instead of C-like initialization 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 40325b2fd5 Correct Mipmaps View method in Texture Cache 2019-06-20 21:36:12 -03:00
Fernando Sahmkow 27e8636b3e Change texture_cache chaching from GPUAddr to CacheAddr
This also reverses the changes to make invalidation and flushing through
the GPU address.
2019-06-20 21:36:12 -03:00
Fernando Sahmkow 6d36712424 Corrections to Structural Matching
The texture will now be reconstructed if the width only matches on GoB 
alignment.
2019-06-20 21:36:12 -03:00
Fernando Sahmkow 7b8ddfb612 Implement Texture Cache V2 2019-06-20 21:36:12 -03:00
Fernando Sahmkow b906c2d3ec Correct Surface Base and Views for new Texture Cache 2019-06-20 21:36:12 -03:00
Fernando Sahmkow e341b78038 Add OGLTextureView 2019-06-20 21:36:12 -03:00
Fernando Sahmkow e8ac8ab2f5 Deglobalize Memory Manager on texture cahe and Implement Invalidation and Flushing using GPUVAddr 2019-06-20 21:36:11 -03:00
ReinUsesLisp 05f039e9fb texture_cache: Remove execution context copies from the texture cache
This is done to simplify the OpenGL implementation, it is needed for
Vulkan.
2019-06-20 21:36:11 -03:00
ReinUsesLisp dfe6cbac91 gl_texture_cache: Implement fermi copies 2019-06-20 21:36:11 -03:00
ReinUsesLisp 57cfa6b47a texture_cache: Split texture cache into different files 2019-06-20 21:36:11 -03:00
ReinUsesLisp 4b3338b9d9 texture_cache: Move staging buffer into a generic implementation 2019-06-20 21:36:11 -03:00
ReinUsesLisp b7df49efba texture_cache: Flush 3D textures in the order they are drawn 2019-06-20 21:36:11 -03:00
ReinUsesLisp 1b91e86f65 gl_texture_cache: Minor changes 2019-06-20 21:36:11 -03:00
ReinUsesLisp b91d2263d4 gl_texture_cache: Add copy from multiple overlaps into a single surface 2019-06-20 21:36:11 -03:00
ReinUsesLisp 4543864bae gl_texture_cache: Attach surface textures instead of views 2019-06-20 21:36:11 -03:00
ReinUsesLisp f46a979f19 gl_texture_cache: Add fast copy path 2019-06-20 21:36:11 -03:00
ReinUsesLisp 3b430b5605 gl_texture_cache: Initial implementation 2019-06-20 21:36:11 -03:00
Zach Hilman 6aa4b7b369 freezer: Update documentation 2019-06-20 19:22:53 -04:00
Zach Hilman c0126e6779 core: Move Freezer class to tools namespace 2019-06-20 19:22:53 -04:00
Zach Hilman 89cb67c76e freezer: Add documentation for methods 2019-06-20 19:22:04 -04:00
Zach Hilman 9ab4d3de50 memory: Add class to manage and enforce memory freezing 2019-06-20 19:22:04 -04:00
bunnei 71ec79857a Merge pull request #2596 from FernandoS27/revert-2590
Revert PR 2590.
2019-06-20 13:04:06 -04:00
Hexagon12 9d0137b23e Merge pull request #2595 from jonsn0w/patch-1
Update content_archive.cpp
2019-06-20 10:03:24 +03:00
Fernando Sahmkow 1b11723253 Revert PR 2590.
Even though it has been proven that IAudioRenderer:SystemEvent is 
actually an automatic event. The current implementation of such event is 
all thought to be manual. Thus it's implementation needs to be corrected 
when doing such change. As it is right now this PR introduced a series 
of regressions on softlocks on multiple games. Therefore, this pr 
reverts such change until a correct implementation is made.
2019-06-19 23:19:19 -04:00
bunnei 8516ab7e90 Merge pull request #2591 from lioncash/record
core: Remove unused CiTrace source files
2019-06-19 22:28:26 -04:00
bunnei 6a7d4946da Merge pull request #2590 from lioncash/event
service/audio/audren_u: Correct event reset type for the system event
2019-06-19 22:27:52 -04:00
jonsn0w cbb3371437 Update content_archive.cpp
log clutter in debug logs when theres really no need
2019-06-19 22:01:41 -04:00
Zach Hilman 9791593910 Merge pull request #2594 from FearlessTobi/very-important-change
yuzu/configure_input: Add missing space in window title
2019-06-19 19:15:37 -04:00
Tobias c33d7e593c Change to a more descriptive name 2019-06-19 23:55:13 +02:00
Tobias ce9f3a9efc yuzu/configure_input: Add missing space in window name 2019-06-19 23:32:34 +02:00
Alex Subaric 0fe8444849 Added missing space between two words
Added missing whitespace character between two words in the "Warning Missing Derivation Components" warning message box.
2019-06-20 02:42:56 +10:00
Zach Hilman 2b86534328 Merge pull request #2584 from ogniK5377/cadence
Impl'd IsUserAccountSwitchLocked, SetAudioOutVolume, GetAudioOutVolume & Partial impl of GetAccumulatedSuspendedTickChangedEvent
2019-06-19 10:29:42 -04:00
Lioncash 0b24f6f253 core: Remove unused CiTrace source files
These source files have been unused for the entire lifecycle of the
project. They're a hold-over from Citra and only add to the build time
of the project, so they can be removed.

There's also likely no way this would ever work in yuzu in its current
form without revamping quite a bit of it, given how different the GPU on
the Switch is compared to the 3DS.
2019-06-18 16:57:59 -04:00
Lioncash cedbb6ee41 service/audio/audren_u: Correct event reset type for the system event
This is actually an auto-reset event in the audio service itself, not a
manual one.
2019-06-18 09:23:20 -04:00
bunnei 09db6b31f3 Merge pull request #2562 from ReinUsesLisp/split-cbuf-upload
video_core/engines: Move ConstBufferInfo out of Maxwell3D
2019-06-17 22:35:04 -04:00
David Marcec 7b451419b4 Addressed issues 2019-06-17 08:17:26 +10:00
Fernando Sahmkow 16ee1b7006 Core_Timing: Make core_timing threadsafe by default.
The old implementation had faulty Threadsafe methods where events could
be missing. This implementation unifies unsafe/safe methods and makes
core timing thread safe overall.
2019-06-16 14:14:35 -04:00
David Marcec 622b25db6e Signalled accumulated_suspended_tick_changed_event on creation based on RE 2019-06-16 22:18:54 +10:00
David Marcec 9578a9a72d Cleanup 2019-06-16 20:18:35 +10:00
David Marcec 5f5f8c6341 Impl'd IsUserAccountSwitchLocked, SetAudioOutVolume, GetAudioOutVolume & Partial impl of GetAccumulatedSuspendedTickChangedEvent
IPC-100 was changed to InitializeApplicationInfoOld instead of InitializeApplicationInfo. IPC-150 makes an indentical call to IPC-100 however does extra processing. They should not have the same name as it's quite confusing to debug.
2019-06-16 19:06:33 +10:00
Zach Hilman 00db7eb265 Merge pull request #2538 from ReinUsesLisp/ssy-pbk
shader: Split SSY and PBK stack
2019-06-15 20:30:13 -04:00
Zach Hilman aca05af798 Merge pull request #2581 from lioncash/hex
common/hex_util: Combine HexVectorToString() and HexArrayToString()
2019-06-15 16:47:13 -04:00
bunnei 6507034f95 Merge pull request #2582 from lioncash/reserved
file_sys/ips_layer: Remove unnecessary reserve() call
2019-06-14 11:24:18 -04:00
Zach Hilman 4c48b437f8 Merge pull request #2580 from lioncash/redundant
kernel/vm_manager: Remove redundant Reset call in destructor
2019-06-12 19:26:07 -04:00
Zach Hilman 3cf9150679 Merge pull request #2577 from lioncash/fs
file_sys/card_image: Minor cleanup
2019-06-12 19:23:33 -04:00
Lioncash af914546f2 file_sys/ips_layer: Remove unnecessary reserve() call
Given 'replace' is assigned to on the following line, this isn't
necessary, given the underlying data is going to be overwritten
entirely.
2019-06-12 18:12:45 -04:00
Lioncash 37ff16bbb0 common/hex_util: Reserve std::string memory ahead of time
Avoids potentially performing multiple reallocations (depending on the
size of the input data) by reserving the necessary amount of memory
ahead of time.

This is trivially doable, so there's no harm in it.
2019-06-12 17:54:11 -04:00
Lioncash 59d55c8137 common/hex_util: Combine HexVectorToString() and HexArrayToString()
These can be generified together by using a concept type to designate
them. This also has the benefit of not making copies of potentially very
large arrays.
2019-06-12 17:54:05 -04:00
Lioncash 14aca37172 file_sys/card_image: Remove obsolete TODO
We already support Rev 1+.
2019-06-12 16:52:19 -04:00
Lioncash b0fc1ae7bf kernel/vm_manager: Remove redundant Reset call in destructor
This is performing more work than would otherwise be necessary during
VMManager's destruction. All we actually want to occur in this scenario
is for any allocated memory to be freed, which will happen automatically
as the VMManager instance goes out of scope.

Anything else being done is simply unnecessary work.
2019-06-12 16:10:00 -04:00
ReinUsesLisp 68a0cc0fa5 gl_device: Fix TestVariableAoffi test
This test is intended to be invalid GLSL, but it was being invalid in
two points instead of one. The intention is to use a non-immediate
parameter in a textureOffset like function.

The problem is that this shader was being compiled as a separable
shader object and the text was writting to gl_Position without a
redeclaration, being invalid GLSL.

Address that issue by using a user-defined output attribute.
2019-06-11 23:02:50 -03:00
bunnei 835dec3388 Merge pull request #2578 from lioncash/cnmt
file_sys/nca_metadata: Update CNMT structures
2019-06-11 21:13:05 -04:00
bunnei 1d0378459b Merge pull request #2572 from FernandoS27/gpu-mem
GPUVM: Correct GPU VM virtual address space
2019-06-11 21:09:57 -04:00
Lioncash 348c03b1bd file_sys/nca_metadata: Update CNMT structures
Names a few more entries in relevant structures. Information based off
SwitchBrew and my own RE.
2019-06-10 23:51:06 -04:00
Lioncash c45be86d6e file_sys/card_image: Deduplicate casts within AddNCAFromPartition()
Makes for nicer reading.
2019-06-10 23:27:14 -04:00
Lioncash f5f9c52900 file_sys/card_image: Make bracing consistent
Makes for more consistent reading.
2019-06-10 23:27:13 -04:00
Lioncash 8bfb8e3dce file_sys/card_image: Assign collapsed NCA contents directly to ncas member
Same thing, significantly less noisy.
2019-06-10 23:27:13 -04:00
Lioncash 907c499608 file_sys/card_image: Deduplicate type cast
Same thing, less duplication. We can also std::move raw into the
PartitionFilesystem constructor.
2019-06-10 23:27:05 -04:00
Lioncash c305601f9b file_sys/card_image: Get rid of a magic number
We can just use the size of the array to dehardcode it.
2019-06-10 22:58:08 -04:00
Lioncash bfafb5f7d1 file_sys/card_image: Use std::array deduction guides
Same thing, less code.
2019-06-10 22:57:53 -04:00
Zach Hilman 177fd0a00b yuzutest: Add minor comments 2019-06-10 00:31:54 -04:00
Zach Hilman 3f221f8e3f kernel: Differentiate kernel and user processes when picking ID
This allows kernel internal type processes to be assigned IDs in the KIP range while userland processes are assigned in the user range.
2019-06-10 00:28:33 -04:00
Zach Hilman e62e715ac2 nsp: Correct status codes for extracted NSPs
Avoids all extracted NSPs being marked as error file type because they don't have program NCAs.
2019-06-10 00:21:41 -04:00
Zach Hilman 5231fb95e6 nsp: Use title ID from NPDM metadata for extracted type NSPs
Avoids 0 being used as title ID for all extracted NSPs.
2019-06-10 00:19:23 -04:00
Zach Hilman 0a624581b2 arm_dynarmic: Check if jit is nullptr when preparing reschedule
Prevents crash with multiprocess loading.
2019-06-10 00:14:25 -04:00
Zach Hilman 75f7a216c2 yuzu_tester: Display results in table format 2019-06-10 00:03:11 -04:00
Zach Hilman 0df48b790f yuzutest: Support multiple tests per executable 2019-06-10 00:03:11 -04:00
Zach Hilman 325482d2a2 yuzu_tester: Add 'yuzutest' service 2019-06-10 00:03:11 -04:00
Zach Hilman cf7a646f0b yuzu_tester: Add SDL2-based EmuWindow that doesn't show the window 2019-06-10 00:03:11 -04:00
Zach Hilman b2b51bf223 yuzu_tester: Use config, icon, and main from yuzu-cmd 2019-06-10 00:03:11 -04:00
Zach Hilman 983a52fccd yuzu_tester: Add project subdirectory 2019-06-10 00:03:11 -04:00
Zach Hilman 58c127c1d8 Merge pull request #2571 from lioncash/ref
kernel/process: Make Create()'s name parameter be taken by value
2019-06-09 20:43:57 -04:00
Lioncash 9f6aa8af4a kernel/process: Make Create()'s name parameter be taken by value
Makes the interface more flexible in terms of how Create() may be
called, while still allowing the parameter itself to be moved into.
2019-06-09 18:47:37 -04:00
Lioncash 3a22c12704 kernel/svc: Implement TotalMemoryUsedWithoutMmHeap/TotalMemoryAvailableWithoutMmHeap
Given we don't currently implement the personal heap yet, the existing
memory querying functions are essentially doing what the memory querying
types introduced in 6.0.0 do.

So, we can build the necessary machinery over the top of those and just
use them as part of info types.
2019-06-09 18:22:30 -04:00
Lioncash a331973720 kernel/svc: Amend naming for TotalMemoryUsage in svcGetInfo()
Disambiguates and makes the name a little more consistent with
TotalPhysicalMemoryUsed.
2019-06-09 18:12:05 -04:00
Lioncash 9f62c69fca kernel/svc: Remove duplicate enum entry in svcGetInfo() 2019-06-09 18:08:37 -04:00
Fernando Sahmkow ab3bb046a8 GPUVM: Correct GPU VM virtual address space 2019-06-09 17:47:15 -04:00
Zach Hilman 736ab3acf7 Merge pull request #2564 from ReinUsesLisp/block-dim-x-fix
kepler_compute: Minor changes
2019-06-08 14:09:02 -04:00
Zach Hilman f3b36847ab Merge pull request #2553 from lioncash/language
yuzu/configuration: Make all widgets and dialogs aware of language changes
2019-06-07 21:46:08 -04:00
ReinUsesLisp 51d624bf2c kepler_compute: Use std::array for cbuf info 2019-06-07 20:36:22 -03:00
ReinUsesLisp 667ecbda37 kepler_compute: Fix block_dim_x encoding 2019-06-07 20:35:46 -03:00
ReinUsesLisp d9a8e33b5b gl_shader_cache: Use static constructors for CachedShader initialization 2019-06-07 20:20:22 -03:00
ReinUsesLisp e6d3f9c589 gl_rasterizer: Remove unused parameters in descriptor uploads 2019-06-07 19:52:16 -03:00
ReinUsesLisp 1073b32300 video_core/engines: Move ConstBufferInfo out of Maxwell3D 2019-06-07 19:47:15 -03:00
Zach Hilman bf2e779efb constants: Extract backup JPEG used by account services 2019-06-07 17:46:57 -04:00
Zach Hilman 3c639f5ff1 Merge pull request #2514 from ReinUsesLisp/opengl-compat
video_core: Drop OpenGL core in favor of OpenGL compatibility
2019-06-07 17:23:25 -04:00
ReinUsesLisp e8bd976b4d shader: Split SSY and PBK stack
Hardware testing revealed that SSY and PBK push to a different stack,
allowing code like this:

        SSY label1;
        PBK label2;
        SYNC;
label1: PBK;
label2: EXIT;
2019-06-07 02:18:27 -03:00
Zach Hilman ae00309771 kernel_executable: Optimize BLZ decompression 2019-06-06 19:20:15 -04:00
ReinUsesLisp d7f13b7e6e cmake: Add missing shader hash file entries 2019-06-06 20:11:48 -03:00
ReinUsesLisp 419d5bf5db shader/node: Minor changes
Reflect std::shared_ptr nature of Node on initializers and remove
constant members in nodes.

Add some commentaries.
2019-06-06 20:03:33 -03:00