summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-06-02Merge pull request #4016 from ReinUsesLisp/invocation-infoLC
shader/other: Fix hardcoded value in S2R INVOCATION_INFO
2020-06-02Merge pull request #4033 from ReinUsesLisp/vk-r16uiLC
maxwell_to_vk: Add R16UI image format
2020-06-02maxwell_to_vk: Add R16UI image formatReinUsesLisp
- Used by Octopath Traveler
2020-06-01Merge pull request #4001 from ReinUsesLisp/avoid-copiesbunnei
buffer_cache: Avoid copying twice on certain cases
2020-06-01Merge pull request #3998 from ReinUsesLisp/init-3dbunnei
maxwell_3d: Initialize more registers to their expected value
2020-06-01Merge pull request #4005 from ReinUsesLisp/g24r8Rodrigo Locatti
format_lookup_table: Implement G24S8 format as S8Z24
2020-06-01Merge pull request #3996 from ReinUsesLisp/front-facesbunnei
fixed_pipeline_state,gl_rasterizer: Swap negative viewport checks for front faces
2020-05-31Merge pull request #3930 from ReinUsesLisp/animal-bordersbunnei
vk_rasterizer: Implement constant attributes
2020-05-31Merge pull request #3958 from FernandoS27/gl-debugbunnei
OpenGL: Enable Debug Context and Synchronous debugging when graphics debugging is enabled
2020-05-31Merge pull request #3999 from ReinUsesLisp/opt-tex-cachebunnei
texture_cache: Optimize GetSurfacesInRegion
2020-05-31gl_device: Enable compute shaders for Intel proprietary driversMorph
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.
2020-05-30Merge pull request #3982 from ReinUsesLisp/membar-ctsbunnei
shader/other: Implement MEMBAR.CTS
2020-05-30shader/other: Fix hardcoded value in S2R INVOCATION_INFOReinUsesLisp
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.
2020-05-30Add xbyak externalDavid Marcec
2020-05-29Merge pull request #4007 from ReinUsesLisp/reduce-logsbunnei
maxwell_3d: Reduce severity of logs that can be spammed
2020-05-28Merge pull request #3991 from ReinUsesLisp/depth-samplingbunnei
texture_cache: Implement depth stencil texture swizzles
2020-05-28Merge pull request #4002 from lat9nq/fix-nix-mod-directoriesbunnei
patch_manager: Add support for case-sensitivity on Linux
2020-05-28maxwell_3d: Reduce severity of logs that can be spammedReinUsesLisp
These logs were killing performance on some games when they were spammed. Reduce them to Debug severity.
2020-05-28format_lookup_table: Implement G24S8 format as S8Z24ReinUsesLisp
2020-05-28Make copying directory string more conciselat9nq
2020-05-28Address requested changeslat9nq
2020-05-28Merge pull request #3993 from ReinUsesLisp/fix-zlabunnei
gl_shader_manager: Unbind GLSL program when binding a host pipeline
2020-05-27*nix systems can read any-case patch directorieslat9nq
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'.
2020-05-27Merge pull request #3954 from Morph1984/log-memory-amountbunnei
main: Log host system memory parameters
2020-05-27buffer_cache: Avoid copying twice on certain casesReinUsesLisp
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.
2020-05-27texture_cache: Use unordered_map::find instead of operator[] on hot codeReinUsesLisp
2020-05-27Merge pull request #3961 from Morph1984/bgra8_srgbbunnei
maxwell_to_vk: Add format B8G8R8A8_SRGB and add Attachable capability for B8G8R8A8_UNORM
2020-05-27texture_cache: Use small vector for surface vectorsReinUsesLisp
This avoids most heap allocations when collecting surfaces into a vector.
2020-05-27maxwell_3d: Initialize line widthsReinUsesLisp
Initialize line widths to avoid setting a line width of zero.
2020-05-27maxwell_3d: Initialize polygon modesReinUsesLisp
NVN expects this to be initialized as Fill, otherwise games that never bind a rasterizer state will log an invalid polygon mode.
2020-05-27Fix macOS code and change "Swapfile" to "Swap"Morph
2020-05-27shader/other: Implement MEMBAR.CTSReinUsesLisp
This silences an assertion we were hitting and uses workgroup memory barriers when the game requests it.
2020-05-26texture_cache: Fix layered null surfacesReinUsesLisp
Null texture cubes were not considered arrays, causing issues on Vulkan and OpenGL when creating views.
2020-05-26gl_texture_cache: Implement small texture view cache for swizzlesReinUsesLisp
This fixes cases where the texture swizzle was applied twice on the same draw to a texture bound to two different slots.
2020-05-26texture_cache: Implement depth stencil texture swizzlesReinUsesLisp
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.
2020-05-26gl_rasterizer: Port front face flip check from VulkanReinUsesLisp
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.
2020-05-26fixed_pipeline_state: Remove unnecessary check for front faces flipReinUsesLisp
The check to flip faces when viewports are negative were a left over from the old OpenGL code. This is not required on Vulkan where we have negative viewports.
2020-05-26Merge pull request #3981 from ReinUsesLisp/barbunnei
shader/other: Implement BAR.SYNC 0x0
2020-05-26Merge pull request #3980 from ReinUsesLisp/red-opbunnei
shader/memory: Implement non-addition operations in RED
2020-05-26gl_shader_manager: Unbind GLSL program when binding a host pipelineReinUsesLisp
Fixes regression in Link's Awakening caused by 420cc13248350ef5c2d19e0b961cb4185cd16a8a
2020-05-25Merge pull request #3978 from ReinUsesLisp/write-rzbunnei
shader_decompiler: Visit source nodes even when they assign to RZ
2020-05-24Merge pull request #3905 from FernandoS27/vulkan-fixbunnei
Correct a series of crashes and intructions on Async GPU and Vulkan Pipeline
2020-05-24Merge pull request #3964 from ReinUsesLisp/arb-integrationbunnei
renderer_opengl: Add assembly program code paths
2020-05-24Merge pull request #3979 from ReinUsesLisp/thread-groupbunnei
shader/other: Implement thread comparisons (NV_shader_thread_group)
2020-05-24Merge pull request #3975 from ReinUsesLisp/fast-bufcachebunnei
buffer_cache: Replace boost::icl::interval_map with boost::intrusive::set
2020-05-22yuzu/discord_impl: Update the applicationID (#3977)Tobias
2020-05-21shader/other: Implement BAR.SYNC 0x0ReinUsesLisp
Trivially implement this particular case of BAR. Unless games use OpenCL or CUDA barriers, we shouldn't hit any other case here.
2020-05-21shader/memory: Implement non-addition operations in REDReinUsesLisp
Trivially implement these instructions. They are used in Astral Chain.
2020-05-21shader/other: Implement thread comparisons (NV_shader_thread_group)ReinUsesLisp
Hardware S2R special registers match gl_Thread*MaskNV. We can trivially implement these using Nvidia's extension on OpenGL or naively stubbing them with the ARB instructions to match. This might cause issues if the host device warp size doesn't match Nvidia's. That said, this is unlikely on proper shaders. Refer to the attached url for more documentation about these flags. https://www.khronos.org/registry/OpenGL/extensions/NV/NV_shader_thread_group.txt
2020-05-21shader_decompiler: Visit source nodes even when they assign to RZReinUsesLisp
Some operations like atomicMin were ignored because they returned were being stored to RZ. This operations have a side effect and it was being ignored.