Subject: CVS commit: pkgsrc/emulators/libretro-desmume
From: Nia Alarie
Date: 2019-05-09 16:39:09
Message id:

Log Message:
libretro-desmume: Update to 20190426

Changes include:

* Firmware: Fix various endianness issues.
* GPU: Do some code cleanup of the display capture code.
* Render 3D: Improve the overall rendering accuracy of Edge Mark.
* GPU: Fix a bug where using VRAM as a display capture source would
sometimes cause graphical glitches under certain conditions.
* OpenGL Renderer: Rework the rendering shaders so that the shader
program code is more dynamically generated.
* OpenGL Renderer: Replace the accuracy/performance tradeoff "Enable
Depth Equals Test Tolerance" with "Enable NDS-Style Depth \ 
where disabling this option allows the host GPU to natively calculate
depth which significantly improves performance in many games.
* OpenGL Renderer: Eliminate the requirement for 66 varying floats in
the Fog shader by replacing the varying floats with constants.
* OpenGL Renderer: Fix bug where the OpenGL renderer would completely
fail to run if the user's ancient GPU doesn't support shaders.
* OpenGL Renderer: Do some minor performance improving tweaks.
* OpenGL Renderer: Remove the material_6bit_to_float LUT, since we
already have an equivalent existing LUT -- divide6bitBy63_LUT.
* OpenGL Renderer: Mitigate some of the performance penalty of using
the NDS Style Depth Calculation option.
* OpenGL Renderer: Do some minor efficiency, stability, and
consistency tweaks.
* OpenGL Renderer: Do some minor shader efficiency tweaks.
* OpenGL Renderer: Fix some interactions between Edge Mark and the
Special Zero Alpha Blending option.
* OpenGL Renderer: More minor shader efficiency tweaks when using the
NDS Style Depth Calculation option.
* types.
* GPU: Working engine buffers are now set up in advance,
asynchronously, starting after line 191.
* GPU: Significantly improve the performance of HD rendering for many
3D games.
* GPU: Fix graphical glitch that can occur when frameskip is enabled,
running a custom resolution on a multicore CPU system.
* Video Filters: Fix an issue where the internal buffers were not
created using a guaranteed alignment, possibly causing a segfault on
AVX2-enabled systems.
* OpenGL Renderer: When rendering the main geometry, adjusts all
Z-positions in the vertex shader so that Z is more likely to naturally
fall between the depth range of 0.
* Render 3D: Simplify the code a little by removing the working
Polygon ID buffer for clear images.
* OpenGL Renderer: Fix a bug where Fog rendering would fail when used
with MSAA.
* OpenGL Renderer: Improve the overall reliability of CPU-to-GPU
buffer writes, fixing a bug where certain polygons would intermittently
flicker in some games.
* OpenGL Renderer: Fix a bug where the incorrect buffer would be
cleared when trying to clear the Fog attributes buffer while Edge Mark
is disabled.
* OpenGL Renderer: In an effort to try and reduce graphical glitches
whenever users try to run enhancements that were never native to the
NDS to begin with, the texture sampling method is now being forced to
clamp for polygons with texture coordinates of either 0.
* OpenGL Renderer: Reduce some buffer related synchronization in
* OpenGL Renderer: Fix an occasional crashing bug that may occur when
initializing the Clear Image textures.
* OpenGL Renderer: Before rendering, determine the list of clipped
polygons, and then only render the clipped polygons, just like how
SoftRasterizer does it.
* OpenGL Renderer: Revert the texture sampling hack in commit 02cd950
-- it causes graphical glitches in Sands of Destruction, especially
visible within the Sky Gaol.
* GFX3D: The polygon clipping stage now occurs before any polygon
sorting, allowing for the sorting of smaller lists.