| Age | Commit message (Collapse) | Author |
|
Skip fast buffer uploads on Nvidia 443.24 Vulkan beta driver on OpenGL.
This driver throws the following error when calling BufferSubData or
BufferData on buffers that are candidates for fast constant buffer
uploads. This is the equivalens to push constants on Vulkan, except that
they can access the full buffer. The error:
Unknown internal debug message. The NVIDIA OpenGL driver has encountered
an out of memory error. This application might
behave inconsistently and fail.
If this error persists on future drivers, we might have to look deeper
into this issue. For now, we can black list it and log it as a temporary
solution.
|
|
vk_rasterizer: Skip transform feedbacks when extension is unavailable
|
|
gl_shader_decompiler: Fix geometry shader outputs on Intel drivers
|
|
video_core: Implement Macro JIT
|
|
|
|
texture_cache: Handle overlaps with multiple subresources
|
|
|
|
gl_device: Avoid devices with CAVEAT_SUPPORT on ASTC
|
|
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
|
|
|
|
- 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
|
|
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
|
|
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
|
|
texture_cache: Implement depth stencil texture swizzles
|
|
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
|
|
Avoid copying to a staging buffer on non-granular memory addresses.
Add a callable argument to StreamBufferUpload to be able to copy to the
staging buffer directly from ReadBlockUnsafe.
|
|
|
|
maxwell_to_vk: Add format B8G8R8A8_SRGB and add Attachable capability for B8G8R8A8_UNORM
|
|
This avoids most heap allocations when collecting surfaces into a
vector.
|
|
Initialize line widths to avoid setting a line width of zero.
|
|
NVN expects this to be initialized as Fill, otherwise games that never
bind a rasterizer state will log an invalid polygon mode.
|
|
This silences an assertion we were hitting and uses workgroup memory
barriers when the game requests it.
|
|
Null texture cubes were not considered arrays, causing issues on Vulkan
and OpenGL when creating views.
|
|
This fixes cases where the texture swizzle was applied twice on the same
draw to a texture bound to two different slots.
|
|
Stop ignoring image swizzles on depth and stencil images.
This doesn't fix a known issue on Xenoblade Chronicles 2 where an OpenGL
texture changes swizzles twice before being used. A proper fix would be
having a small texture view cache for this like we do on Vulkan.
|