| Age | Commit message (Collapse) | Author |
|
Add code required to use OpenGL assembly programs based on
NV_gpu_program5. Decompilation for ARB programs is intended to be added
in a follow up commit. This does **not** include ARB decompilation and
it's not in an usable state.
The intention behind assembly programs is to reduce shader stutter
significantly on drivers supporting NV_gpu_program5 (and other required
extensions). Currently only Nvidia's proprietary driver supports these
extensions.
Add a UI option hidden for now to avoid people enabling this option
accidentally.
This code path has some limitations that OpenGL compatibility doesn't
have:
- NV_shader_storage_buffer_object is limited to 16 entries for a single
OpenGL context state (I don't know if this is an intended limitation, an
specification issue or I am missing something). Currently causes issues
on The Legend of Zelda: Link's Awakening.
- NV_parameter_buffer_object can't bind buffers using an offset
different to zero. The used workaround is to copy to a temporary buffer
(this doesn't happen often so it's not an issue).
On the other hand, it has the following advantages:
- Shaders build a lot faster.
- We have control over how floating point rounding is done over
individual instructions (SPIR-V on Vulkan can't do this).
- Operations on shared memory can be unsigned and signed.
- Transform feedbacks are dynamic state (not yet implemented).
- Parameter buffers (uniform buffers) are per stage, matching NVN and
hardware's behavior.
- The API to bind and create assembly programs makes sense, unlike
ARB_separate_shader_objects.
|
|
Add settings for assembly shaders. Currently hidden to avoid users from
accidentally enabled them.
|
|
FS: Improve emulation of device saves
|
|
nv_flinger: Use enum for pixel format instead of u32
|
|
|
|
|
|
vk_rasterizer: Match OpenGL's FlushAndInvalidate behavior
|
|
Match OpenGL's behavior. This can fix or simplify bisecting issues on
Vulkan.
|
|
|
|
Frontend: Remove tracking for context wrapper
|
|
audio_renderer: Better voice mixing and 6 channel downmixing
|
|
Improve time zone support
|
|
shader_ir: Add separate instructions for ordered and unordered comparisons and fix NE on GLSL
|
|
|
|
|
|
vk_graphics_pipeline: Implement rasterizer_enable on Vulkan
|
|
|
|
|
|
|
|
|
|
|
|
Supersedes #3738 and #3321
|
|
|
|
|
|
|
|
|
|
Needed for Puchikon 4 SmileBASIC 1.0.0
|
|
"Not equal" operators on GLSL seem to behave as unordered when we expect
an ordered comparison.
Manually emulate this checking for LGE values (numbers, not-NaNs).
|
|
texture: Implement R8G8UI
|
|
This allows us to use native SPIR-V instructions without having to
manually check for NAN.
|
|
maxwell_to_vk: implement missing signed int formats
|
|
* Remove git submodules that will be loaded through conan
* Move custom Find modules to their own folder
* Use conan for downloading missing external dependencies
* CI: Change the yuzu source folder user to the user that the containers run on
* Attempt to remove dirty mingw build hack
* Install conan on the msvc build
* Only set release build type when using not using multi config generator
* Re-add qt bundled to workaround an issue with conan qt not downloading prebuilt binaries
* Add workaround for submodules that use legacy CMAKE variables
* Re-add USE_BUNDLED_QT on the msvc build bot
|
|
video_core: Implement viewport swizzles with NV_viewport_swizzle
|
|
hle_ipc: Eliminate core memory globals
|
|
vk_sampler_cache: Use VK_EXT_custom_border_color when available
|
|
Co-Authored-By: Vitor K <vitor-k@users.noreply.github.com>
|
|
GPU: More optimizations to GPU Command List Processing and DMA Copy Optimizations
|
|
kernel/memory: Resolve several compiler warnings
|
|
Co-authored-by: David <25727384+ogniK5377@users.noreply.github.com>
|
|
Co-authored-by: David <25727384+ogniK5377@users.noreply.github.com>
|
|
This should fix grass interactions on Breath of the Wild on Vulkan.
It is currently untested against validation layers.
Nvidia's Windows 443.09 beta driver or Linux 440.66.12 is required for
now.
|
|
kernel/memory: Amend potential encoding warnings
|
|
|
|
|
|
|
|
am: IHomeMenuFunctions:GetPopFromGeneralChannelEvent
|
|
Port citra-emu/citra#5094: "yuzu: Option to hide mouse on inactivity"
|
|
acc: Return a unique value per account for GetAccountId
|
|
This isn't necessary in a cpp file and will cause warnings on clang.
|
|
Prevents header churn and needing to recompile these files if these
headers are ever changed in the future.
|