Age | Commit message (Collapse) | Author |
|
Using deko3d as reference:
https://github.com/devkitPro/deko3d/blob/4e47ba0013552e592a86ab7a2510d1e7dadf236a/source/maxwell/gpu_3d_state.cpp#L42
We were using bits 3 and 4 to determine depth clamping, but these are
the same both enabled and disabled:
state->depthClampEnable ? 0x101A : 0x181D
The same happens on Nvidia's OpenGL driver, where they do something like
this (default capabilities, GL 4.5 compatibility):
(state & DEPTH_CLAMP) != 0 ? 0x201a : 0x281c
There's always a difference between the first bits in this register, but
bit 11 is consistently disabled on both deko3d/NVN and OpenGL. This
commit changes yuzu's behaviour to use bit 11 to determine depth
clamping.
- Fixes depth issues on Super Mario Odyssey's intro.
|
|
vk_renderpass_cache: Pack renderpass cache key and unify keys
|
|
vk_memory_manager: Remove unified memory model flag
|
|
services: hid: Stub StopSevenSixAxisSensor.
|
|
Optimize GPU Command Lists and Introduce Fast GPU Time Option
|
|
Fix "Port citra-emu/citra#4956: "Fixes to game list sorting" #3611"
|
|
service: Update function tables
|
|
{gl,vk}_rasterizer: Add lazy default buffer maker and use it for empty buffers
|
|
configuration: Add Restore Default and Clear options to hotkeys
|
|
configure_input_player: Use slider to edit modifier scale
|
|
- Used by The Legend of Zelda: Breath of the Wild v1.6.0
|
|
|
|
vulkan/wrapper: Sort physical devices
|
|
decode/arithmetic_half: Fix HADD2 and HMUL2 absolute and negation bits
|
|
svc: Re-add MapProcessCodeMemory/UnmapProcessCodeMemory
|
|
Sometimes for unknown reasons NVN games can bind a render target format
of 0. This may be a yuzu bug.
With the commits before this the formats were specified without being
"packed", assuming all formats and texceptions will be written like in
the color_attachments vector.
To address this issue, iterate all render targets and pack them as they
are valid. This way they will match color_attachments.
- Fixes validation errors and graphical issues on Breath of the Wild.
|
|
|
|
shader/arithmetic_integer: Fix LEA_IMM encoding
|
|
|
|
|
|
frontend/filesystem: Add a trailing separator to the string path
|
|
page_table: Remove unused captures
|
|
svc: Remove unused variable
|
|
Amends the parameter to match the documentation reference.
Resolves a -Wdocumentation warning with clang.
|
|
These were lost in the re-implementation of the virtual memory manager.
|
|
Since the VMM refactor, this is no longer used or needed.
|
|
Any time the lambda function is called, the permission being used in the
capture would be passed in as an argument to the lambda, so the capture
is unnecessary.
|
|
The encoding for negation and absolute value was wrong.
Extracting is now done manually. Similar instructions having different
encodings is the rule, not the exception. To keep sanity and readability
I preferred to extract the desired bit manually.
This is implemented against nxas:
https://github.com/ReinUsesLisp/nxas/blob/8dbc38995711cc12206aa370145a3a02665fd989/table.h#L68
That is itself tested against nvdisasm (Nvidia's official disassembler).
|
|
Framebuffer creation was ignoring the number of color attachments.
|
|
This allows us to call Common::CityHash and std::memcmp only once for
GraphicsPipelineCacheKey. While we are at it, do the same for compute.
|
|
|
|
Fix format error in performance statistics
|
|
* kernel: memory: Improve implementation of device shared memory.
* fixup! kernel: memory: Improve implementation of device shared memory.
* fixup! kernel: memory: Improve implementation of device shared memory.
|
|
|
|
|
|
|
|
|
|
service/time: Remove reliance on the global system accessor
|
|
CMakeLists: Enable -Wmissing-declarations on Linux builds
|
|
|
|
Formatting
|
|
Introduce Predictive Flushing and Improve ASYNC GPU
|
|
vk_pipeline_cache: Fix unintentional memcpy into optional
|
|
The intention behind this was to assign a float to from an uint32_t, but
it was unintentionally being copied directly into the std::optional.
Copy to a temporary and assign that temporary to std::optional. This can
be replaced with std::bit_cast<float> once we are in C++20.
|
|
|
|
thread: FPCR.FZ is likely not 1 (and FPCR.RMode = TieAway and FPCR.DN = 0)
|
|
Add missing ;
|
|
|
|
Introduce dummy context for yuzu-cmd VK support
|
|
renderer_vulkan: Integrate Nvidia Nsight Aftermath on Windows
|