Skip to content
Snippets Groups Projects
  1. Jun 07, 2020
    • ReinUsesLisp's avatar
      shader_cache: Implement a generic shader cache · dc272523
      ReinUsesLisp authored
      Implement a generic shader cache for fast lookups and invalidations.
      Invalidations are cheap but expensive when a shader is invalidated.
      
      Use two mutexes instead of one to avoid locking invalidations for
      lookups and vice versa. When a shader has to be removed, lookups are
      locked as expected.
      dc272523
  2. Jun 06, 2020
    • ReinUsesLisp's avatar
      gl_device: Black list NVIDIA 443.24 for fast buffer uploads · e78d681a
      ReinUsesLisp authored
      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.
      e78d681a
  3. Jun 04, 2020
  4. Jun 03, 2020
  5. Jun 02, 2020
  6. Jun 01, 2020
  7. May 31, 2020
    • Morph's avatar
      gl_device: Enable compute shaders for Intel proprietary drivers · bb8ef381
      Morph authored
      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.
      bb8ef381
  8. May 30, 2020
  9. May 29, 2020
  10. May 28, 2020
  11. May 27, 2020
  12. May 26, 2020
    • ReinUsesLisp's avatar
      texture_cache: Fix layered null surfaces · b2c4521a
      ReinUsesLisp authored
      Null texture cubes were not considered arrays, causing issues on Vulkan
      and OpenGL when creating views.
      b2c4521a
    • ReinUsesLisp's avatar
      gl_texture_cache: Implement small texture view cache for swizzles · b17fe829
      ReinUsesLisp authored
      This fixes cases where the texture swizzle was applied twice on the same
      draw to a texture bound to two different slots.
      b17fe829
    • ReinUsesLisp's avatar
      texture_cache: Implement depth stencil texture swizzles · 8bba84a4
      ReinUsesLisp authored
      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.
      8bba84a4
    • ReinUsesLisp's avatar
      gl_rasterizer: Port front face flip check from Vulkan · 606a62d4
      ReinUsesLisp authored
      While Vulkan was assuming we had no negative viewports, OpenGL code
      was assuming we had them. Port the old code from Vulkan to OpenGL,
      checking if the first viewport is negative before flipping faces.
      
      This is not a complete implementation since we only check for the first
      viewport to be negative. That said, unless a game is using Vulkan,
      OpenGL and NVN games should be fine here, and we can always compare with
      our Vulkan backend to see if there's a difference.
      606a62d4
Loading