- Aug 21, 2019
-
-
ReinUsesLisp authored
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.
-
- Aug 17, 2019
-
-
James Rowe authored
-
- Aug 09, 2019
-
-
Lioncash authored
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.
-
- Aug 04, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Aug 02, 2019
-
-
Silent authored
Following screens got fixes: - Configure/Debug - Configure/Input
-
- Jul 30, 2019
- Jul 26, 2019
-
-
Fernando Sahmkow authored
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.
-
ReinUsesLisp authored
-
- Jul 20, 2019
-
-
Fernando Sahmkow authored
This commit takes care of implementing the F16 Variants of the conversion instructions and makes sure conversions are done.
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
- Jul 19, 2019
-
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
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.
-
Lioncash authored
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.
-
Lioncash authored
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.
-
Lioncash authored
Trims out the lingering reliance on global state out of the audio code.
-
Lioncash authored
This service function only ever returns a result and nothing more.
-
Lioncash authored
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.
-
Lioncash authored
Provides operational symmetry for the respective structures.
-
Lioncash authored
The return value is a u32, not an s32, so this would result in an implicit signedness conversion.
-
Lioncash authored
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.
-
Lioncash authored
Results in less work being done where avoidable.
-
Lioncash authored
Same thing, but potentially allows a standard library implementation to pick a more efficient codepath.
-
Lioncash authored
It's what it's there for.
-
Lioncash authored
Ensures that the constructor members are always initialized in the order that they're declared in.
-
Lioncash authored
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.
-
Lioncash authored
Previously, quite a few functions were being linked with external linkage.
-
Lioncash authored
Makes it explicit that the conversions here are intentional.
-
- Jul 18, 2019
-
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
This adds some missing puller methods. We don't assert them as these are nop operations for us.
-
Fernando Sahmkow authored
This log was just to know which games used DMA. It's no longer important.
-
Fernando Sahmkow authored
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.
-
Fernando Sahmkow authored
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.
-
Fernando Sahmkow authored
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.
-