| Age | Commit message (Collapse) | Author |
|
NV_transform_feedback, NV_transform_feedback2 and
ARB_transform_feedback3 with NV_transform_feedback interactions allows
implementing transform feedbacks as dynamic state.
Maxwell implements transform feedbacks as dynamic state, so using these
extensions with TransformFeedbackStreamAttribsNV allows us to properly
emulate transform feedbacks without having to recompile shaders when the
state changes.
|
|
texture_cache: Handle overlaps with multiple subresources
|
|
|
|
Co-Authored-By: xperia64 <xperiancedapps@gmail.com>
|
|
gl_device: Avoid devices with CAVEAT_SUPPORT on ASTC
|
|
hid: Stub GetXpadIDs
|
|
glsl: Squash constant buffers into a single SSBO when we hit the limit
|
|
|
|
shader/other: Fix hardcoded value in S2R INVOCATION_INFO
|
|
maxwell_to_vk: Add R16UI image format
|
|
|
|
Implement atomic operations on images.
On GLSL these are atomicImage* functions (e.g. atomicImageAdd).
|
|
This is the equivalent of an image buffer on OpenGL.
- Used by Octopath Traveler
|
|
- Used by Octopath Traveler
|
|
buffer_cache: Avoid copying twice on certain cases
|
|
maxwell_3d: Initialize more registers to their expected value
|
|
gl_PerVertex for vertex and tessellation shaders
|
|
On Intel's proprietary drivers, gl_Layer and gl_ViewportIndex are not allowed members of gl_PerVertex block, causing the shader to fail to compile. Fix this by declaring these variables outside of gl_PerVertex.
|
|
format_lookup_table: Implement G24S8 format as S8Z24
|
|
fixed_pipeline_state,gl_rasterizer: Swap negative viewport checks for front faces
|
|
|
|
Allows Minecraft: Nintendo Switch Edition (a.k.a. old Minecraft) to boot and go ingame
|
|
This avoids using Nvidia's ASTC decoder on OpenGL.
The last time it was profiled, it was slower than yuzu's decoder.
While we are at it, fix a bug in the texture cache when native ASTC is
not supported.
|
|
Avoids compilation errors at the cost of shader build times and runtime
performance when a game hits the limit of uniform buffers we can use.
|
|
vk_rasterizer: Implement constant attributes
|
|
OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled
|
|
texture_cache: Optimize GetSurfacesInRegion
|
|
According to Atmosphére (https://github.com/Atmosphere-NX/Atmosphere/blob/c7026b90940a1d88f9c10a6d98263bf22e654fa5/libraries/libstratosphere/include/stratosphere/ro/ro_types.hpp), nrr_kind (Atmosphére calls it "type") is 7.0.0+
|
|
This was based on Switchbrew pages:
https://switchbrew.org/wiki/NRR
https://switchbrew.org/wiki/NRO
|
|
Previously we were disabling compute shaders on Intel's proprietary driver due to broken compute. This has been fixed in the latest Intel drivers. Re-enable compute for Intel proprietary drivers and remove the check for broken compute.
|
|
shader/other: Implement MEMBAR.CTS
|
|
Geometry shaders built from Nvidia's compiler check for bits[16:23] to
be less than or equal to 0 with VSETP to default to a "safe" value of
0x8000'0000 (safe from hardware's perspective). To avoid hitting this
path in the shader, return 0x00ff'0000 from S2R INVOCATION_INFO.
This seems to be the maximum number of vertices a geometry shader can
emit in a primitive.
|
|
Only reupload textures when they've not been modified from the GPU.
|
|
Easier to read and will emit a jump table automatically.
|
|
|
|
|
|
|
|
|
|
maxwell_3d: Reduce severity of logs that can be spammed
|
|
Avoids calling transform feedback procedures when
VK_EXT_transform_feedback is not available.
|
|
Implement more surface reconstruct cases. Allow overlaps with more than
one layer and mipmap and copies all of them to the new texture.
- Fixes textures moving around objects on Xenoblade games
|
|
Timeout is a u64, it will always be >= 0
|
|
texture_cache: Implement depth stencil texture swizzles
|
|
patch_manager: Add support for case-sensitivity on Linux
|
|
These logs were killing performance on some games when they were
spammed. Reduce them to Debug severity.
|
|
|
|
|
|
|
|
gl_shader_manager: Unbind GLSL program when binding a host pipeline
|
|
Changes many patch_manager functions to use a case-less variant of
GetSubdirectory. Fixes patches not showing up on *nix systems when
patch directories are named with odd cases, i.e. `exeFS'.
|