Age | Commit message (Collapse) | Author |
|
shader/decode: Implement S2R Tic
|
|
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.
|
|
VM_Manager: Align allocated host physical memory to 256bytes
|
|
GPU: Flush commands on every dma pusher step.
|
|
half_set_predicate: Fix HSETP2_C constant buffer offset
|
|
Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.
|
|
yuzu-tester/yuzu: Remove unused variable
|
|
service/audren_u: Unstub ListAudioDeviceName
|
|
shader_ir: Implement NOP
|
|
decode/half_set_predicate: Fix predicates
|
|
|
|
Port citra-emu/citra#4849: "Qt: Fixed behaviour of buttons by connecting functors to correct signals"
|
|
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.
|
|
|
|
|
|
Following screens got fixes:
- Configure/Debug
- Configure/Input
|
|
Prevents an invalid formatting exception from being thrown.
|
|
Gets rid of a compilation warning.
|
|
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.
|
|
Implement GPU Synchronization Mechanisms & Correct NVFlinger
|
|
|
|
video_core/control_flow: Minor changes/warning cleanup
|
|
Shader_Ir: Correct tracking to track from right to left
|
|
yuzu/main: Make error messages within OnCoreError more localization-friendly
|
|
Downgrade and suppress a series of GPU asserts and debug messages.
|
|
maxwell3d: Implement Conditional Rendering
|
|
|
|
gl_rasterizer: Implement compute shaders
|
|
Rework Dirty Flags in GPU Pipeline, Optimize CBData and Redo Clearing mechanism
|
|
This commit takes care of implementing the F16 Variants of the
conversion instructions and makes sure conversions are done.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
Trims out the lingering reliance on global state out of the audio code.
|
|
GetActiveAudioDeviceName()
This service function only ever returns a result and nothing more.
|
|
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.
|
|
Provides operational symmetry for the respective structures.
|
|
The return value is a u32, not an s32, so this would result in an
implicit signedness conversion.
|
|
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.
|
|
Results in less work being done where avoidable.
|
|
Same thing, but potentially allows a standard library implementation to
pick a more efficient codepath.
|
|
It's what it's there for.
|