Commit Graph

11133 Commits (d6333978831a93ac641591f9e7bfd6fb2577c77b)

Author SHA1 Message Date
Fernando Sahmkow 434d0922dc
Merge pull request #2759 from ReinUsesLisp/compute-images
gl_rasterizer: Bind images and samplers to compute
6 years ago
FearlessTobi d36a7a43c5 Address review comments 6 years ago
fearlessTobi 684b616f0d Add frametime logging for tracking performance over time
Co-Authored-By: jroweboy <jroweboy@gmail.com>
6 years ago
David 07a0242535
Merge pull request #2847 from VelocityRa/nro-nacp-fix
nro/ui: Show "Developer" field in Properties
6 years ago
David 1487153e06
Merge pull request #2716 from lioncash/hle-global
service/am: Remove usages of global system accessors
6 years ago
David 6f7b349461
Merge pull request #2763 from lioncash/map-phys
kernel/vm_manager: Minor cleanup
6 years ago
Nick Renieris bfc5bacecd nro: Implement ReadControlData
With this, the "Developer" field in the Properties for homebrew is now populated.

Signed-off-by: Nick Renieris <velocityra@gmail.com>
6 years ago
ReinUsesLisp 17a9b0178d gl_shader_decompiler: Avoid writing output attribute when unimplemented 6 years ago
ReinUsesLisp 1f43e5296f gl_shader_decompiler: Keep track of written images and mark them as modified 6 years ago
ReinUsesLisp 7228e22098 texture_cache: Minor changes 6 years ago
ReinUsesLisp 322d0200c8 gl_rasterizer: Apply textures and images state 6 years ago
ReinUsesLisp 80ec2feee8 gl_rasterizer: Add samplers to compute dispatches 6 years ago
ReinUsesLisp 954fc02fdd gl_rasterizer: Minor code changes 6 years ago
ReinUsesLisp 04cdecb7a1 gl_state: Split textures and samplers into two arrays 6 years ago
ReinUsesLisp 6170337001 gl_rasterizer: Implement image bindings 6 years ago
ReinUsesLisp 5edf24b510 gl_state: Add support for glBindImageTextures 6 years ago
ReinUsesLisp 2424eefad2 texture_cache: Pass TIC to texture cache 6 years ago
ReinUsesLisp 3a450c1395 kepler_compute: Implement texture queries 6 years ago
ReinUsesLisp 2e5b5c2358 gl_rasterizer: Split SetupTextures 6 years ago
Fernando Sahmkow 4ee9949639
Merge pull request #2804 from ReinUsesLisp/remove-gs-special
gl_shader_cache: Remove special casing for geometry shaders
6 years ago
bunnei 03badbdd9b
Merge pull request #2833 from ReinUsesLisp/fix-stencil
gl_rasterizer: Fix stencil testing
6 years ago
ReinUsesLisp 0f7b813d65 gl_shader_decompiler: Implement shared memory 6 years ago
ReinUsesLisp 4de04eba39 shader_ir: Implement LD_S
Loads from shared memory.
6 years ago
ReinUsesLisp f17415d431 shader_ir: Implement ST_S
This instruction writes to a memory buffer shared with threads within
the same work group. It is known as "shared" memory in GLSL.
6 years ago
David 953d49810a
Merge pull request #2797 from FearlessTobi/port-4877
Port citra-emu/citra#4877: "citra_qt: on osx chdir to bundle dir to allow detection of user folder"
6 years ago
David d34fa7c4fa
Merge pull request #2802 from ReinUsesLisp/hsetp2-pred
half_set_predicate: Fix HSETP2 predicate assignments
6 years ago
David 14d8c1b594
Merge pull request #2418 from DarkLordZach/srv-es
es: Implement various ticket accessor commands from IEticketService
6 years ago
FearlessTobi 1aec2ff4d2 Address review comments 6 years ago
David aa8daaf22a
Merge pull request #2808 from FearlessTobi/port-4866
Port citra-emu/citra#4866: "configure_dialog: reverse tab map to avoid logic based on user-facing/translatable text"
6 years ago
David 8795645d97
Merge pull request #2707 from DarkLordZach/oss-miimodel
system_archive: Add open-source reimplementation of MiiModel data
6 years ago
Lioncash d1abe8e92a service/am: Remove usages of global system accessors
Avoids the use of global accessors, removing the reliance on global
state. This also makes dependencies explicit in the interface, as
opposed to being hidden
6 years ago
FearlessTobi ea8244301d yuzu/configure: move speed limiter to general
The speed limiter being a frame limiter is an implmentation detail and can be changed in the future. What user care about is that it limit the emulation speed in genenral (not just graphics but also audio+input)

Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
6 years ago
Lioncash f763e23083 kernel/vm_manager: Correct doxygen comment parameter tags for MapPhysicalMemory/UnmapPhysicalMemory
Corrects the parameter names within the doxygen comments so that they
resolve properly.
6 years ago
Lioncash b0da7e4262 kernel/vm_manager: Move variables closer to usage spots in MapPhysicalMemory/UnmapPhysicalMemory
Narrows the scope of variables down to where they're only necessary.
6 years ago
David a956d0b0eb
Merge pull request #2830 from FearlessTobi/port-4911
Port citra-emu/citra#4911: "Add cancel option to analog stick configuration"
6 years ago
David d8e59a28ea
Merge pull request #2834 from Morph1984/audrenu_QueryAudioDeviceInputEvent
audren_u: Stub IAudioDevice::QueryAudioDeviceInputEvent
6 years ago
David 67bdd8ed58
Merge pull request #2836 from Morph1984/hid_vibration
hid: Implement PermitVibration and IsVibrationPermitted
6 years ago
David 0a4f0b6a5d
Merge pull request #2818 from MysticExile/fmt
externals: update fmt to 6.0.0
6 years ago
bunnei e77d2b2103
Merge pull request #2801 from ReinUsesLisp/typed-decompiler
gl_shader_decompiler: Rework GLSL decompiler type system
6 years ago
ReinUsesLisp 6177cbdbe1 gl_shader_decompiler: Fixup slow path 6 years ago
mailwl a1d48b5f52 AM: Stub IApplicationFunctions::GetGpuErrorDetectedSystemEvent (#2827)
* AM: Implement IApplicationFunctions::GetGpuErrorDetectedSystemEvent

* Remove unneeded event clear

* Fix event name
6 years ago
bunnei fe83ee102b
Merge pull request #2829 from Morph1984/audio
service/audio/audren_u: Stub IAudioDevice::GetAudioDeviceOutputVolume
6 years ago
fearlessTobi 9ca4718aed configure_dialog: reverse tab map to avoid logic based on user-facing/translatable text
Co-Authored-By: Weiyi Wang <wwylele@gmail.com>
6 years ago
Ethan 30448641f2 Fix clang-format 6 years ago
fearlessTobi c49c3e9f27 Fix uisettings include 6 years ago
fearlessTobi 053da44ecd Limit the size of directory icons, fix text when icon size is none 6 years ago
fearlessTobi 13891fd62d Change QList to QVector 6 years ago
fearlessTobi 5aaafa6a56 Separate UserNand and Sdmc directories 6 years ago
fearlessTobi dfec9c9a43 Address more trivial review comments 6 years ago
fearlessTobi 7a8f484020 Address trivial review comments 6 years ago
fearlessTobi 2d8eba5baf yuzu: Add support for multiple game directories
Ported from https://github.com/citra-emu/citra/pull/3617.
6 years ago
Morph1984 cd81194fc0
ditto
Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
6 years ago
Morph1984 ef98828d40
IsVibrationEnabled() as a const member func 6 years ago
Morph1984 d6969fa7d4
clang-format 6 years ago
Morph1984 ee35f7adf7
Update npad.h 6 years ago
Morph1984 5130b8a6a9
Update npad.cpp 6 years ago
Morph1984 1559477740
Update hid.h 6 years ago
Morph1984 a83eb90a78
Update hid.cpp 6 years ago
ReinUsesLisp 7bbc98cfc3 gl_rasterizer: Fix stencil testing
* Fix stencil dirty flags tracking when stencil is disabled
* Attach stencil on clears (previously it only attached depth)
* Attach stencil on drawing regardless of stencil testing being enabled
6 years ago
ReinUsesLisp 5f309b88db Revert "Revert #2466" and stub FirmwareCall 4 6 years ago
ReinUsesLisp 77ef4fa907 shader/shift: Implement SHR wrapped and clamped variants
Nvidia defaults to wrapped shifts, but this is undefined behaviour on
OpenGL's spec. Explicitly mask/clamp according to what the guest shader
requires.
6 years ago
ReinUsesLisp 701dedcfad maxwell_3d: Avoid moving macro_params 6 years ago
ReinUsesLisp 42e1bb6d46 gl_shader_cache: Remove special casing for geometry shaders
Now that ProgramVariants holds the primitive topology we no longer need
to keep track of individual geometry shaders topologies.
6 years ago
ReinUsesLisp dfae2d141a half_set_predicate: Fix predicate assignments 6 years ago
ReinUsesLisp 9cf52d027d gl_device: Disable precise in fragment shaders on bugged drivers 6 years ago
ReinUsesLisp 03276e7490 gl_shader_decompiler: Fixup AMD's slow path type 6 years ago
ReinUsesLisp 6c449793b8 gl_shader_decompiler: Rework GLSL decompiler type system
GLSL decompiler type system was broken. We converted all return values
to float except for some cases where returning we couldn't and
implicitly broke the rule of returning floats (e.g. for bools or bool
pairs).

Instead of doing this introduce class Expression that knows what type a
return value has and when a consumer wants to use the string it asks for
it with a required type, emitting a runtime error if types are
incompatible.

This has the disadvantage that there's more C++ code, but we can emit
better GLSL code that's easier to read.
6 years ago
Morph1984 84815fa879
Add Kernel::EventPair audio_input_device_switch_event; 6 years ago
Morph1984 ec95c73a12
remove <f32>
We can remove this since its already a f32 value
6 years ago
Morph1984 1449ed9dbf
audren_u: Stub IAudioDevice::QueryAudioDeviceInputEvent 6 years ago
David e1981b8b8d
Merge pull request #2708 from DarkLordZach/mii-db-source-crash
mii: Handle logging of unknown database source
6 years ago
Morph1984 58783b8a46
explicitly represent 1 as a float (1.0f instead of 1) 6 years ago
bunnei 19af91434e
Merge pull request #2793 from ReinUsesLisp/bgr565
renderer_opengl: Implement RGB565 framebuffer format
6 years ago
bunnei 81fbc5370d
Merge pull request #2812 from ReinUsesLisp/f2i-selector
shader_ir/conversion: Implement F2I and F2F F16 selector
6 years ago
bunnei d4f33b822b
Merge pull request #2811 from ReinUsesLisp/fsetp-fix
float_set_predicate: Add missing negation bit for the second operand
6 years ago
bunnei 137d165672
Merge pull request #2826 from ReinUsesLisp/macro-binding
maxwell_3d: Fix macro binding cursor
6 years ago
bunnei 86b39e0677
Merge pull request #2831 from FearlessTobi/port-4914
Port citra-emu/citra#4914: "Fix to Windows sleep issues"
6 years ago
Morph1984 b1ca56bed2
Change u32 -> f32
Volume is a f32 value. (SwIPC describes it as a u32, but it is actually f32 as corroborated by switchbrew docs and SetAudioDeviceOutputVolume)

 ```cpp
const f32 volume = rp.Pop<f32>();
```
6 years ago
fearlessTobi 952f010c2c configuration/config: Add missing screenshot path read
I missed this in my original PR (https://github.com/yuzu-emu/yuzu/pull/1886).
6 years ago
fearlessTobi 4ea572791b Fix to Windows sleep issues
Co-Authored-By: Vitor K <vitor-k@users.noreply.github.com>
6 years ago
fearlessTobi 22fd208e8d Add cancel option to analog stick configuration
Co-Authored-By: Vitor K <vitor-k@users.noreply.github.com>
6 years ago
Morph1984 ba661c8d9a
service/audio/audren_u: Stub IAudioDevice::GetAudioDeviceOutputVolume 6 years ago
bunnei 50b5bb44a0
Merge pull request #2765 from FernandoS27/dma-fix
MaxwellDMA: Fixes, corrections and relaxations.
6 years ago
ReinUsesLisp 52a41f482f maxwell_3d: Fix macro binding cursor 6 years ago
Rodrigo Locatti 4d4f9cc104 video_core: Silent miscellaneous warnings (#2820)
* texture_cache/surface_params: Remove unused local variable

* rasterizer_interface: Add missing documentation commentary

* maxwell_dma: Remove unused rasterizer reference

* video_core/gpu: Sort member declaration order to silent -Wreorder warning

* fermi_2d: Remove unused MemoryManager reference

* video_core: Silent unused variable warnings

* buffer_cache: Silent -Wreorder warnings

* kepler_memory: Remove unused MemoryManager reference

* gl_texture_cache: Add missing override

* buffer_cache: Add missing include

* shader/decode: Remove unused variables
6 years ago
Lioncash 96cc9a9279 kernel/vm_manager: Correct behavior in failure case of UnmapPhysicalMemory()
If an unmapping operation fails, we shouldn't be decrementing the amount
of memory mapped and returning that the operation was successful. We
should actually be returning the error code in this case.
6 years ago
Lioncash 56c6f767ae kernel/vm_manager: Reserve memory ahead of time for slow path in MergeAdjacentVMA
Avoids potentially expensive (depending on the size of the memory block)
allocations by reserving the necessary memory before performing both
insertions. This avoids scenarios where the second insert may cause a
reallocation to occur.
6 years ago
Lioncash a43ee8d752 kernel/vm_manager: std::move shared_ptr instance in MergeAdjacentVMA
Avoids an unnecessary atomic reference count increment and decrement.
6 years ago
Lioncash 785c4946dd kernel/vm_manager: Deduplicate iterator creation in MergeAdjacentVMA
Avoids needing to read the same long sequence of code in both code
paths. Also makes it slightly nicer to read and debug, as the locals
will be able to be shown in the debugger.
6 years ago
Lioncash 70485e690b kernel/vm_manager: Simplify some std::vector constructor calls
Same behavior, one less magic constant to read.
6 years ago
Lioncash 3f695333cd kernel/vm_manager: Simplify some assertion messages
Assertions already log out the function name, so there's no need to
manually include the function name in the assertion strings.
6 years ago
ReinUsesLisp 878adee0a3 gl_buffer_cache: Add missing include
RasterizerInterface was considered an incomplete object by clang.
6 years ago
bunnei a67c4e6e02
Merge pull request #2742 from ReinUsesLisp/fix-texture-buffers
gl_texture_cache: Miscellaneous texture buffer fixes
6 years ago
Ethan 5adbe66ae8 accommodate for fmt update 6 years ago
bunnei e424615839
Merge pull request #2783 from FernandoS27/new-buffer-cache
Implement a New LLE Buffer Cache
6 years ago
bunnei f8cc5668f8
Merge pull request #2758 from ReinUsesLisp/packed-tid
shader/decode: Implement S2R Tic
6 years ago
ReinUsesLisp e3534700d7 shader_ir/conversion: Split int and float selector and implement F2F H1 6 years ago
ReinUsesLisp b13fbc25b8 shader_ir/conversion: Implement F2I F16 Ra.H1 6 years ago
ReinUsesLisp 6207751b00 float_set_predicate: Add missing negation bit for the second operand 6 years ago
Weiyi Wang 0580112940 Guard unistd.h with MacOS only macro
Fix compile error on Windows caused by #4877
Weird, I thought I saw this guard during the code review...
6 years ago
B3n30 246b515a86 citra_qt: on osx chdir to bundle dir to allow detection of user folder 6 years ago
ReinUsesLisp 4e35177e23 shader_ir: Implement VOTE
Implement VOTE using Nvidia's intrinsics. Documentation about these can
be found here
https://developer.nvidia.com/reading-between-threads-shader-intrinsics

Instead of using portable ARB instructions I opted to use Nvidia
intrinsics because these are the closest we have to how Tegra X1
hardware renders.

To stub VOTE on non-Nvidia drivers (including nouveau) this commit
simulates a GPU with a warp size of one, returning what is meaningful
for the instruction being emulated:

* anyThreadNV(value) -> value
* allThreadsNV(value) -> value
* allThreadsEqualNV(value) -> true

ballotARB, also known as "uint64_t(activeThreadsNV())", emits

VOTE.ANY Rd, PT, PT;

on nouveau's compiler. This doesn't match exactly to Nvidia's code

VOTE.ALL Rd, PT, PT;

Which is emulated with activeThreadsNV() by this commit. In theory this
shouldn't really matter since .ANY, .ALL and .EQ affect the predicates
(set to PT on those cases) and not the registers.
6 years ago
Fernando Sahmkow 83ec2091c1 Buffer Cache: Adress Feedback. 6 years ago
Fernando Sahmkow 6ce2c85047 Buffer_Cache: Implement flushing. 6 years ago
Fernando Sahmkow de8ff8a1c6 Buffer_Cache: Implement barriers. 6 years ago
Fernando Sahmkow 286f4c446a Buffer_Cache: Optimize and track written areas. 6 years ago
Fernando Sahmkow 5f4b746a1e BufferCache: Rework mapping caching. 6 years ago
Fernando Sahmkow 86d8563314 Buffer_Cache: Fixes and optimizations. 6 years ago
Fernando Sahmkow 862bec001b Video_Core: Implement a new Buffer Cache 6 years ago
bunnei b4a8cfbd00
Merge pull request #2748 from FernandoS27/align-memory
VM_Manager: Align allocated host physical memory to 256bytes
6 years ago
bunnei d654b3d82e
Merge pull request #2769 from FernandoS27/commands-flush
GPU: Flush commands on every dma pusher step.
6 years ago
bunnei dfdd20142e
Merge pull request #2777 from ReinUsesLisp/hsetp2-fe3h-fix
half_set_predicate: Fix HSETP2_C constant buffer offset
6 years ago
bunnei cedc1aab4a
Merge pull request #2753 from FernandoS27/float-convert
Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.
6 years ago
bunnei 74a7ce1df7
Merge pull request #2773 from lioncash/test-unused
yuzu-tester/yuzu: Remove unused variable
6 years ago
ReinUsesLisp 80702aa88f renderer_opengl: Implement RGB565 framebuffer format 6 years ago
ReinUsesLisp 9cdf5c6c31 renderer_opengl: Use block linear swizzling for CPU framebuffers 6 years ago
ReinUsesLisp 8ad7268c75 renderer_opengl: Use VideoCore pixel format 6 years ago
ReinUsesLisp 9a76e94b3d gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfig 6 years ago
bunnei ef584f1a3a
Merge pull request #2747 from lioncash/audio
service/audren_u: Unstub ListAudioDeviceName
6 years ago
bunnei ca61e298b3
Merge pull request #2778 from ReinUsesLisp/nop
shader_ir: Implement NOP
6 years ago
bunnei 87bbefe55f
Merge pull request #2768 from ReinUsesLisp/hsetp2-fix
decode/half_set_predicate: Fix predicates
6 years ago
James Rowe 509734d818 Fixup! #2772 missed this one file 6 years ago
James Rowe e2392fe46f
Merge pull request #2766 from FearlessTobi/port-4849
Port citra-emu/citra#4849: "Qt: Fixed behaviour of buttons by connecting functors to correct signals"
6 years ago
James Rowe 0e9e166d85
Merge pull request #2772 from lioncash/ui
yuzu/CMakeLists: Remove qt5_wrap_ui macro usage
6 years ago
Lioncash 5980aa1e51 yuzu/CMakeLists: Remove qt5_wrap_ui macro usage
We can simply enable CMAKE_AUTOUIC and let CMake take care of handling
the UI code generation for targets.

As part of letting CMake automatically handle the header file parsing,
we must not name includes with "ui_*" unless they're related to the
output of the Qt UIC compiler. Because of this, we need to rename
ui_settings, given it would conflict with this restriction.
6 years ago
ReinUsesLisp 2ff8044806 shader_ir: Implement NOP 6 years ago
ReinUsesLisp ec0da3ef64 half_set_predicate: Fix HSETP2_C constant buffer offset 6 years ago
Silent 221250d922 Qt: Fixed behaviour of buttons by connecting functors to correct signals
Following screens got fixes:
- Configure/Debug
- Configure/Input
6 years ago
Lioncash 6e11cfcdf0 yuzu-tester/yuzu: Correct format string
Prevents an invalid formatting exception from being thrown.
6 years ago
Lioncash a0ee10b114 yuzu-tester/yuzu: Remove unused variable
Gets rid of a compilation warning.
6 years ago
Fernando Sahmkow e52c895559 GPU: Flush commands on every dma pusher step.
This commit ensures that the host gpu is constantly fed with commands to
work with, while the guest gpu keeps producing the rest of the commands.
This reduces syncing time between host and guest gpu.
6 years ago
bunnei 52f54c728d
Merge pull request #2592 from FernandoS27/sync1
Implement GPU Synchronization Mechanisms & Correct NVFlinger
6 years ago
ReinUsesLisp 77f1a676a1 decode/half_set_predicate: Fix predicates 6 years ago
Fernando Sahmkow a452ff983d MaxwellDMA: Fixes, corrections and relaxations.
This commit fixes offsets on Linear -> Tiled copies, corrects z pos
fortiled->linear copies, corrects bytes_per_pixel calculation in tiled
-> linear copies and relaxes some limitations set by latest dma fixes
refactors.
6 years ago
bunnei b0ff3179ef
Merge pull request #2739 from lioncash/cflow
video_core/control_flow: Minor changes/warning cleanup
6 years ago
bunnei 4d26550f5f
Merge pull request #2737 from FernandoS27/track-fix
Shader_Ir: Correct tracking to track from right to left
6 years ago
bunnei ccbc554949
Merge pull request #2689 from lioncash/tl
yuzu/main: Make error messages within OnCoreError more localization-friendly
6 years ago
bunnei 31e8a61527
Merge pull request #2743 from FernandoS27/surpress-assert
Downgrade and suppress a series of GPU asserts and debug messages.
6 years ago
bunnei 9be9600bdc
Merge pull request #2704 from FernandoS27/conditional
maxwell3d: Implement Conditional Rendering
6 years ago
ReinUsesLisp 104641db07 shader/decode: Implement S2R Tic 6 years ago
bunnei f601f25bcc
Merge pull request #2734 from ReinUsesLisp/compute-shaders
gl_rasterizer: Implement compute shaders
6 years ago
bunnei 27e10e0442
Merge pull request #2735 from FernandoS27/pipeline-rework
Rework Dirty Flags in GPU Pipeline, Optimize CBData and Redo Clearing mechanism
6 years ago
Fernando Sahmkow 11f4e739bd Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.
This commit takes care of implementing the F16 Variants of the 
conversion instructions and makes sure conversions are done.
6 years ago
Fernando Sahmkow 7a35178ee2 Maxwell3D: Reorganize and address feedback 6 years ago
Fernando Sahmkow 1158777737 Shader_Ir: Change Debug Asserts for Log Warnings 6 years ago
Fernando Sahmkow febb88efc4 Common/Alignment: Add noexcept where required. 6 years ago
ReinUsesLisp 45c162444d shader/half_set_predicate: Fix HSETP2 implementation 6 years ago
ReinUsesLisp 6c4985edc9 shader/half_set_predicate: Implement missing HSETP2 variants 6 years ago
Fernando Sahmkow 024b5fe91a Kernel: Address Feedback 6 years ago
Fernando Sahmkow 0901c33753 Common: Correct alignment allocator to work on C++14 or higher. 6 years ago
Fernando Sahmkow 9bede4eeed VM_Manager: Align allocated memory to 256bytes
This commit ensures that all backing memory allocated for the Guest CPU
is aligned to 256 bytes. This due to how gpu memory works and the heavy
constraints it has in the alignment of physical memory.
6 years ago
Lioncash 16730c4c43 service/audren_u: Handle audio USB output revision queries in ListAudioDeviceName()
Audio devices use the supplied revision information in order to
determine if USB audio output is able to be supported. In this case, we
can only really handle using this revision information in
ListAudioDeviceName(), where it checks if USB audio output is supported
before supplying it as a device name.

A few other scenarios exist where the revision info is checked, such as:

- Early exiting from SetAudioDeviceOutputVolume if USB audio is
  attempted to be set when that device is unsupported.

- Early exiting and returning 0.0f in GetAudioDeviceOutputVolume when
  USB output volume is queried and it's an unsupported device.

- Falling back to AHUB headphones in GetActiveAudioDeviceName when the
  device type is USB output, but is unsupported based off the revision
  info.

In order for these changes to also be implemented, a few other changes
to the interface need to be made.

Given we now properly handle everything about ListAudioDeviceName(), we
no longer need to describe it as a stubbed function.
6 years ago
Lioncash b9ebab71be service/audren_u: Move revision testing code out of AudRenU
The revision querying facilities are used by more than just audren. e.g.
audio devices can use this to test whether or not USB audio output is
supported.

This will be used within the following change.
6 years ago
Lioncash ed0485c599 service/audio: Remove global system accessors
Trims out the lingering reliance on global state out of the audio code.
6 years ago
Lioncash 7653e4babc service/audren_u: Remove unnecessary return value from GetActiveAudioDeviceName()
This service function only ever returns a result and nothing more.
6 years ago
Lioncash 6ecbc6c557 service/audren_u: Report proper device names
AudioDevice and AudioInterface aren't valid device names on the Switch.
We should also be returning consistent names in
GetActiveAudioDeviceName().

While we're at it, we can also handle proper name output in
ListAudioDeviceName, by returning all the available devices on the
Switch.
6 years ago
Lioncash c1c89411da video_core/control_flow: Provide operator!= for types with operator==
Provides operational symmetry for the respective structures.
6 years ago
Lioncash 1780e0e3d0 video_core/control_flow: Prevent sign conversion in TryGetBlock()
The return value is a u32, not an s32, so this would result in an
implicit signedness conversion.
6 years ago
Lioncash a162a844d2 video_core/control_flow: Remove unnecessary BlockStack copy constructor
This is the default behavior of the copy constructor, so it doesn't need
to be specified.

While we're at it we can make the other non-default constructor
explicit.
6 years ago
Lioncash 56bc11d952 video_core/control_flow: Use std::move where applicable
Results in less work being done where avoidable.
6 years ago
Lioncash e7b39f47f8 video_core/control_flow: Use the prefix variant of operator++ for iterators
Same thing, but potentially allows a standard library implementation to
pick a more efficient codepath.
6 years ago
Lioncash 6885e7e7ec video_core/control_flow: Use empty() member function for checking emptiness
It's what it's there for.
6 years ago
Lioncash 45fa12a05c video_core: Resolve -Wreorder warnings
Ensures that the constructor members are always initialized in the order
that they're declared in.
6 years ago
Lioncash 47df844338 video_core/control_flow: Make program_size for ScanFlow() a std::size_t
Prevents a truncation warning from occurring with MSVC. Also the
internal data structures already treat it as a size_t, so this is just a
discrepancy in the interface.
6 years ago
Lioncash 3df9558593 video_core/control_flow: Place all internally linked types/functions within an anonymous namespace
Previously, quite a few functions were being linked with external
linkage.
6 years ago
Lioncash 1109db86b7 video_core/shader/decode: Prevent sign-conversion warnings
Makes it explicit that the conversions here are intentional.
6 years ago
bunnei 5d369112d9
Merge pull request #2687 from lioncash/tls-process
kernel/process: Allocate the process' TLS region during initialization
6 years ago
bunnei 63bda67a34
Merge pull request #2738 from lioncash/shader-ir
shader-ir: Minor cleanup-related changes
6 years ago
Fernando Sahmkow 5a06e33859 Shader_Ir: correct clang format 6 years ago
Fernando Sahmkow 43f57d668c GPU: Add missing puller methods.
This adds some missing puller methods. We don't assert them as these are 
nop operations for us.
6 years ago
Fernando Sahmkow 3a3fee5abf MaxwellDMA/KeplerCopy: Downgrade DMA log message to Trace.
This log was just to know which games used DMA. It's no longer 
important.
6 years ago
Fernando Sahmkow d3b71ff80d 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.
6 years ago
Fernando Sahmkow 0b65e9335e 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.
6 years ago
ReinUsesLisp 74632c76ce gl_shader_decompiler: Rename bufferImage to imageBuffer
The online OpenGL documentation is wrong. The type definition is
imageBuffer.
6 years ago
ReinUsesLisp 87909d327f gl_shader_cache: Fix newline on buffer preprocessor definitions 6 years ago
ReinUsesLisp e7bdf8b22a textures: Fix texture buffer size calculation 6 years ago
ReinUsesLisp 84027f4808 gl_texture_cache: Do not set texture parameters to buffers 6 years ago
ReinUsesLisp 73b2dc6d4f gl_texture_cache: Add missing break in CreateTexture 6 years ago
Fernando Sahmkow 5e457bf258 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.
6 years ago
Fernando Sahmkow 4be61013a1 GL_State: Feedback and fixes 6 years ago
Fernando Sahmkow 5ad889f6fd Maxwell3D: Address Feedback 6 years ago
Fernando Sahmkow 7826f0afd9 Texture_Cache: Rebase Fixes 6 years ago
Fernando Sahmkow 8cdbfe69b1 GL_Rasterizer: Corrections to Clearing. 6 years ago
Fernando Sahmkow 0ff4a5fa39 Maxwell3D: Correct marking dirtiness on CB upload 6 years ago
Fernando Sahmkow fec32fed18 GL_Rasterizer: Rework RenderTarget/DepthBuffer clearing 6 years ago
Fernando Sahmkow a081dea8ab Maxwell3D: Implement State Dirty Flags. 6 years ago
Fernando Sahmkow 0d3db58657 Maxwell3D: Rework CBData Upload 6 years ago
Fernando Sahmkow f2e7b29c14 Maxwell3D: Rework the dirty system to be more consistant and scaleable 6 years ago
Fernando Sahmkow e42bcf2314 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.
6 years ago
Fernando Sahmkow 223a535f3f
Merge pull request #2740 from lioncash/bra
shader/decode/other: Correct branch indirect argument within BRA handling
6 years ago
Rodrigo Locatti c3218c110f
Merge pull request #2726 from lioncash/access
core: Remove CurrentArmInterface() global accessor
6 years ago
Lioncash bebbdc2067 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.
6 years ago
Lioncash 60926ac16b 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.
6 years ago
Lioncash 44d87ff641 shader_ir: Remove unused includes
Removes unnecessary header dependencies.
6 years ago
Fernando Sahmkow d614193e49 Shader_Ir: Correct tracking to track from right to left 6 years ago
Fernando Sahmkow b56e7f870a
Merge pull request #2565 from ReinUsesLisp/track-indirect
shader/track: Track indirect buffers
6 years ago
Lioncash e2d7dda166 shader/decode/other: Correct branch indirect argument within BRA handling
This appears to have been a copy/paste error introduced within
8a6fc529a9
6 years ago
ReinUsesLisp 2a4044a858 gl_shader_cache: Fix clang-format issues 6 years ago
ReinUsesLisp 6b0d017675 gl_shader_decompiler: Stub local memory size 6 years ago
ReinUsesLisp 56bca83bde gl_shader_cache: Address review commentaries 6 years ago
ReinUsesLisp bbecd13697 gl_shader_cache: Address CI issues 6 years ago
ReinUsesLisp 725ba6cf63 gl_rasterizer: Implement compute shaders 6 years ago
Fernando Sahmkow 1bdb59fc6e
Merge pull request #2695 from ReinUsesLisp/layer-viewport
gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shaders
6 years ago
bunnei b77a1ed67a
Merge pull request #2705 from FernandoS27/tex-cache-fixes
GPU: Fixes to Texture Cache and Include Microprofiles for GL State/BufferCopy/Macro Interpreter
6 years ago
ReinUsesLisp afa8096df5 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.
6 years ago
bunnei 3477b92289
Merge pull request #2675 from ReinUsesLisp/opengl-buffer-cache
buffer_cache: Implement a generic buffer cache and its OpenGL backend
6 years ago
Fernando Sahmkow 2ac7472d3f Texture_Cache: Address Feedback 6 years ago
Fernando Sahmkow 0f54b541f4 Texture_Cache: Remove some unprecise fallback case and clang format 6 years ago
Fernando Sahmkow 5818959e54 Texture_Cache: Force Framebuffer reset if an active render target is unregistered. 6 years ago
Fernando Sahmkow 913b7a6872 GPU: Add a microprofile for macro interpreter 6 years ago
Fernando Sahmkow a9943222f2 GL_State: Add a microprofile timer to OpenGL state. 6 years ago
Fernando Sahmkow 5c1e1a148e Gl_Texture_Cache: Measure Buffer Copy Times 6 years ago
Fernando Sahmkow 5d31bab69a Texture_Cache: Correct Linear Structural Match. 6 years ago
Fernando Sahmkow 4882c058fd
Merge pull request #2690 from SciresM/physmem_fixes
Implement MapPhysicalMemory/UnmapPhysicalMemory
6 years ago
Fernando Sahmkow 0ec9da2f9f
Merge pull request #2692 from ReinUsesLisp/tlds-f16
shader/texture: Add F16 support for TLDS
6 years ago
Lioncash 093e5440e2 core: Remove CurrentArmInterface() global accessor
Replaces the final usage of the global accessor function and removes it.
Removes one more enabler of global state.
6 years ago
David Marcec ea5602b959 Clang format 6 years ago
David Marcec 31fe859fe5 Addressed issues 6 years ago
David Marcec 73b37886c1 "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.
6 years ago
Michael Scire d4fc560c05 Remove unicorn mappings/unmappings 6 years ago
bunnei bb67091c77
Merge pull request #2609 from FernandoS27/new-scan
Implement a New Shader Scanner, Decompile Flow Stack and implement BRX BRA.CC
6 years ago
ReinUsesLisp 0eb0c24269 gl_shader_decompiler: Fix gl_PointSize redeclaration 6 years ago
bunnei 79c382fafd
Merge pull request #2717 from SciresM/unmirror_memory
Restore memory perms on svcUnmapMemory/UnloadNro
6 years ago
bunnei 521fb325aa
Merge pull request #2723 from lioncash/mem
core/arm: Remove obsolete Unicorn memory mapping
6 years ago
Lioncash f4ae449f73 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.
6 years ago
Lioncash b81f6f67f5 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.
6 years ago
Lioncash 8fc806e88a 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.
6 years ago
Lioncash 70624e1c1d 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.
6 years ago
Michael Scire 072a9796f5 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.
6 years ago
ReinUsesLisp aca40de224 gl_shader_decompiler: Fix conditional usage of GL_ARB_shader_viewport_layer_array 6 years ago
bunnei fd066ffbce
Merge pull request #2697 from lioncash/doc
gl_rasterizer: Amend documentation comment for ConfigureFramebuffers()
6 years ago
bunnei 7fb7054bc8
Merge pull request #2686 from ReinUsesLisp/vk-scheduler
vk_scheduler: Drop execution context in favor of views
6 years ago
bunnei 93eaea109d
Merge pull request #2700 from ogniK5377/GetFriendList
IFriendService::GetFriendList
6 years ago
bunnei 463af08bed
Merge pull request #2611 from DarkLordZach/pm-info-cmd
pm: Implement various pm commands for finding process and title IDs
6 years ago
bunnei d707a12b9a
Merge pull request #2650 from DarkLordZach/mii-iface-ver
mii: Implement IDatabaseService SetInterfaceVersion
6 years ago
bunnei 206ec29f17
Merge pull request #2691 from lioncash/override
video_core: Add missing override specifiers
6 years ago
Zach Hilman adab188c2b system_archive: Add open-source reimplementation of MiiModel data 6 years ago
Zach Hilman 37a352e9d3 mii: Handle logging of unknown database source 6 years ago
Fernando Sahmkow f2549739d1 shader_ir: Add comments on missing instruction.
Also shows Nvidia's address space on comments.
6 years ago
Michael Scire a1845d1dd3 prefer system reference over global accessor 6 years ago
Fernando Sahmkow 2de7649311 shader_ir: limit explorastion to best known program size. 6 years ago
Fernando Sahmkow e7c6045a03 control_flow: Correct block breaking algorithm. 6 years ago
Fernando Sahmkow dc4a93594c control_flow: Assert shaders bigger than limit. 6 years ago
Fernando Sahmkow e7a88f0ab3 control_flow: Address feedback. 6 years ago
Fernando Sahmkow 34357b110c shader_ir: Correct parsing of scheduling instructions and correct sizing 6 years ago
Fernando Sahmkow cfb3db1a32 shader_ir: Correct max sizing 6 years ago
Fernando Sahmkow d45fed3030 shader_ir: Remove unnecessary constructors and use optional for ScanFlow result 6 years ago
Fernando Sahmkow 01b21ee1e8 shader_ir: Corrections, documenting and asserting control_flow 6 years ago
Fernando Sahmkow d5533b440c shader_ir: Unify blocks in decompiled shaders. 6 years ago
Fernando Sahmkow 926b80102f shader_ir: Decompile Flow Stack 6 years ago