summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-06-10kernel: Account for system resource size for memory usageDavid Marcec
GetTotalPhysicalMemoryAvailableWithoutSystemResource & GetTotalPhysicalMemoryUsedWithoutSystemResource seem to subtract the resource size from the usage.
2020-06-09Merge pull request #4027 from ReinUsesLisp/3d-slicesbunnei
texture_cache: Implement rendering to 3D textures
2020-06-08Merge pull request #4040 from ReinUsesLisp/nv-transform-feedbackbunnei
gl_rasterizer: Use NV_transform_feedback for XFB on assembly shaders
2020-06-08Merge pull request #4052 from ReinUsesLisp/debug-outputbunnei
renderer_opengl: Only enable DEBUG_OUTPUT when graphics debugging is enabled
2020-06-08texture_cache: Port original code management for 2D vs 3D texturesReinUsesLisp
Handle blits to images as 2D, even when they have block depth. - Fixes rendering issues on Luigi's Mansion 3
2020-06-08texture_cache: Simplify blit codeReinUsesLisp
2020-06-08texture_cache: Handle 3D texture blits with one layerReinUsesLisp
2020-06-08texture_cache: Implement rendering to 3D texturesReinUsesLisp
This allows rendering to 3D textures with more than one slice. Applications are allowed to render to more than one slice of a texture using gl_Layer from a VTG shader. This also requires reworking how 3D texture collisions are handled, for now, this commit allows rendering to slices but not to miplevels. When a render target attempts to write to a mipmap, we fallback to the previous implementation (copying or flushing as needed). - Fixes color correction 3D textures on UE4 games (rainbow effects). - Allows Xenoblade games to render to 3D textures directly.
2020-06-07Merge pull request #4034 from ReinUsesLisp/storage-texelsRodrigo Locatti
vk_rasterizer: Implement storage texels and atomic image operations
2020-06-06gl_device: Black list NVIDIA 443.24 for fast buffer uploadsReinUsesLisp
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.
2020-06-05renderer_opengl: Only enable DEBUG_OUTPUT when graphics debugging is enabledReinUsesLisp
Avoids logging when it's not relevant. This can potentially reduce driver's internal thread overhead.
2020-06-05Merge pull request #4013 from ReinUsesLisp/skip-no-xfbbunnei
vk_rasterizer: Skip transform feedbacks when extension is unavailable
2020-06-04Merge pull request #4031 from Morph1984/fix-gs-outputsbunnei
gl_shader_decompiler: Fix geometry shader outputs on Intel drivers
2020-06-04Merge pull request #4044 from ogniK5377/handle-not-signalled-errbunnei
Downgrade "handle not signaled" error to trace
2020-06-04Merge pull request #4009 from ogniK5377/macro-jit-prodbunnei
video_core: Implement Macro JIT
2020-06-04Downgrade "handle not signaled" error to traceDavid Marcec
clogs logs quite a bit
2020-06-04Default init labels and use initializer list for macro engineDavid Marcec
2020-06-03Merge pull request #4039 from FearlessTobi/port-5376bunnei
Port citra-emu/citra#5376: "Actually save the input when clearing/resetting to default"
2020-06-03gl_rasterizer: Use NV_transform_feedback for XFB on assembly shadersReinUsesLisp
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.
2020-06-03Merge pull request #4012 from ReinUsesLisp/mipmap-overlapsbunnei
texture_cache: Handle overlaps with multiple subresources
2020-06-03Mark parameters as constDavid Marcec
2020-06-03Actually save the input when clearing/resetting to defaultFearlessTobi
Co-Authored-By: xperia64 <xperiancedapps@gmail.com>
2020-06-02Merge pull request #4014 from ReinUsesLisp/astc-nvidiabunnei
gl_device: Avoid devices with CAVEAT_SUPPORT on ASTC
2020-06-02Merge pull request #4032 from VolcaEM/xpadbunnei
hid: Stub GetXpadIDs
2020-06-02Merge pull request #4006 from ReinUsesLisp/squash-ubosbunnei
glsl: Squash constant buffers into a single SSBO when we hit the limit
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-02Pass by reference instead of copying parametersDavid Marcec
2020-06-02vk_shader_decompiler: Implement atomic image operationsReinUsesLisp
Implement atomic operations on images. On GLSL these are atomicImage* functions (e.g. atomicImageAdd).
2020-06-02vk_rasterizer: Implement storage texelsReinUsesLisp
This is the equivalent of an image buffer on OpenGL. - Used by Octopath Traveler
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-01gl_shader_decompiler: Declare gl_Layer and gl_ViewportIndex within ↵Morph
gl_PerVertex for vertex and tessellation shaders
2020-06-01gl_shader_decompiler: Fix geometry shader outputs for Intel driversMorph
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.
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-06-01Clang-formatVolcaEM
2020-06-01hid: Stub GetXpadIDsVolcaEM
Allows Minecraft: Nintendo Switch Edition (a.k.a. old Minecraft) to boot and go ingame
2020-05-31gl_device: Avoid devices with CAVEAT_SUPPORT on ASTCReinUsesLisp
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.
2020-05-31glsl: Squash constant buffers into a single SSBO when we hit the limitReinUsesLisp
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.
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-29texture_cache: More relaxed reconstructionReinUsesLisp
Only reupload textures when they've not been modified from the GPU.
2020-05-30Favor switch case over jump tableDavid Marcec
Easier to read and will emit a jump table automatically.
2020-05-30Implement macro JITDavid Marcec