summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-12-14Merge pull request #3222 from ReinUsesLisp/maxwell-to-vkbunnei
maxwell_to_vk: Use VK_EXT_index_type_uint8 and misc changes
2019-12-14Merge pull request #3213 from ReinUsesLisp/intel-mesabunnei
gl_device: Enable compute shaders for Intel Mesa drivers
2019-12-13Merge pull request #3212 from ReinUsesLisp/fix-smem-lmembunnei
gl_shader_cache: Add missing new-line on emitted GLSL
2019-12-13maxwell_to_vk: Improve image format table and add more formatsReinUsesLisp
A1B5G5R5 uses A1R5G5B5. This is flipped with image view swizzles; flushing is still not properly implemented on Vulkan for this particular format.
2019-12-13maxwell_to_vk: Implement more vertex formatsReinUsesLisp
2019-12-13maxwell_to_vk: Implement more primitive topologiesReinUsesLisp
Add an extra argument to query device capabilities in the future. The intention behind this is to use native quads, quad strips, line loops and polygons if these are released for Vulkan.
2019-12-13maxwell_to_vk: Approach GL_CLAMP closer to the GL specReinUsesLisp
The OpenGL spec defines GL_CLAMP's formula similarly to CLAMP_TO_EDGE and CLAMP_TO_BORDER depending on the filter mode used. It doesn't exactly behave like this, but it's the closest we can get with what Vulkan offers without emulating it by injecting shader code.
2019-12-13maxwell_to_vk: Use VK_EXT_index_type_uint8 when availableReinUsesLisp
2019-12-12Merge pull request #3214 from lioncash/svc-funcbunnei
kernel/svc: Amend function signature of SignalProcessWideKey
2019-12-11Merge pull request #3217 from jhol/fix-boost-includebunnei
Added missing include
2019-12-11Gl_Rasterizer: Skip Tesselation Control and Eval stages as they are un ↵Fernando Sahmkow
implemented. This commit ensures the OGL backend does not execute tesselation shader stages as they are currently unimplemented.
2019-12-11Merge pull request #3210 from ReinUsesLisp/memory-barrierbunnei
shader: Implement MEMBAR.GL
2019-12-11Added missing includeJoel Holdsworth
2019-12-11Kernel: Correct behavior of Address Arbiter threads. (#3165)Fernando Sahmkow
* Kernel: Correct behavior of Address Arbiter threads. This corrects arbitration threads to behave just like in Horizon OS. They are added into a container and released according to what priority they had when added. Horizon OS does not reorder them if their priority changes. * Kernel: Address Feedback.
2019-12-11kernel/svc: Correct function signature of SignalProcessWideKeyLioncash
This function doesn't actually return a result code, so we can amend the signature of it to match.
2019-12-11gl_device: Enable compute shaders for Intel Mesa driversReinUsesLisp
Previously we naively checked for "Intel" in GL_VENDOR, but this includes both Intel's proprietary driver and the mesa driver. Re-enable compute shaders for mesa.
2019-12-10gl_shader_cache: Add missing new-line on emitted GLSLReinUsesLisp
Add missing new-line. This caused shaders using local memory and shared memory to inject a preprocessor GLSL line after an expression (resulting in invalid code). It looked like this: shared uint smem[8];#define LOCAL_MEMORY_SIZE 16 It should look like this (addressed by this commit): shared uint smem[8]; \#define LOCAL_MEMORY_SIZE 16
2019-12-10Merge pull request #3201 from lioncash/dumpbunnei
kernel/svc: Provide implementations for svcDumpInfo/svcDumpInfoNew
2019-12-10Maxwell3D: Implement Depth Mode.Fernando Sahmkow
This commit finishes adding depth mode that was reverted before due to other unresolved issues.
2019-12-10shader: Implement MEMBAR.GLReinUsesLisp
Implement using memoryBarrier in GLSL and OpMemoryBarrier on SPIR-V.
2019-12-10vk_shader_decompiler: Fix build issues on old gcc versionsReinUsesLisp
2019-12-09vk_shader_decompiler: Reduce YNegate's severityReinUsesLisp
2019-12-09shader_ir/other: Implement S2R InvocationIdReinUsesLisp
2019-12-09vk_shader_decompiler: Misc changesReinUsesLisp
Update Sirit and its usage in vk_shader_decompiler. Highlights: - Implement tessellation shaders - Implement geometry shaders - Implement some missing features - Use native half float instructions when available.
2019-12-09shader: Keep track of shaders using warp instructionsReinUsesLisp
2019-12-09shader_ir/memory: Implement patch storesReinUsesLisp
2019-12-09vk_device: Misc changesReinUsesLisp
- Setup more features and requirements. - Improve logging for missing features. - Collect telemetry parameters. - Add queries for more image formats. - Query push constants limits. - Optionally enable some extensions.
2019-12-08Merge pull request #3198 from ReinUsesLisp/tessellation-maxwellbunnei
maxwell_3d: Add tessellation state entries
2019-12-08externals: Update Vulkan-HeadersReinUsesLisp
2019-12-08Merge pull request #3199 from ReinUsesLisp/vk-swapchainRodrigo Locatti
vk_swapchain: Add support for swapping sRGB
2019-12-07kernel: Remove unnecessary includesLioncash
Over the course of the changes to the kernel code, a few includes are no longer necessary, particularly with the change over to std::shared_ptr from Boost's intrusive_ptr.
2019-12-07kernel/svc: Provide implementations for svcDumpInfo/svcDumpInfoNewLioncash
These are fairly trivial to implement, we can just do nothing. This also provides a spot for us to potentially dump out any relevant info in the future (e.g. for debugging purposes with homebrew, etc). While we're at it, we can also correct the names of both of these supervisor calls.
2019-12-06vk_swapchain: Add support for swapping sRGBReinUsesLisp
We don't know until the game is running if it's using an sRGB color space or not. Add support for hot-swapping swapchain surface formats.
2019-12-06maxwell_3d: Add tessellation tess level registersReinUsesLisp
2019-12-06maxwell_3d: Add tessellation mode registerReinUsesLisp
2019-12-06maxwell_3d: Add patch vertices registerReinUsesLisp
2019-12-06Merge pull request #3195 from FernandoS27/clear-exclusivebunnei
CpuCore: Clear exclusive state after doing a run in dynarmic.
2019-12-06shader_bytecode: Remove corrupted characterReinUsesLisp
2019-12-06Merge pull request #3109 from FernandoS27/new-instrbunnei
Implement FLO & TXD Instructions on GPU Shaders
2019-12-05CpuCore: Clear exclusive state after doing a run in dynarmic.Fernando Sahmkow
This commit corrects an error in which a Core could remain with an exclusive state after running, leaving space for possible race conditions between changing cores.
2019-12-02telemetry_session: Report renderer backendReinUsesLisp
We only have OpenGL as an option for now. Hardcode the entry.
2019-12-02telemetry_session: Use temporary to avoid writing the same enumReinUsesLisp
2019-12-02Merge pull request #2987 from FernandoS27/texture-invalidbunnei
Texture_Cache: Redo invalid Surfaces handling.
2019-11-30Merge pull request #3177 from bunnei/new-ipc-reqbunnei
kernel: Implement a more accurate IPC dispatch.
2019-11-30Merge pull request #3184 from ReinUsesLisp/framebuffer-cachebunnei
gl_framebuffer_cache: Optimize framebuffer cache management
2019-11-29texture_cache/surface_base: Fix out of bounds texture viewsReinUsesLisp
Some texture views were being created out of bounds (with more layers or mipmaps than what the original texture has). This is because of a miscalculation in mipmap bounding. end_layer and end_mipmap are out of bounds (e.g. layer 6 in a cubemap), there's no need to add one more there. Fixes OpenGL errors and Vulkan crashes on Splatoon 2.
2019-11-28gl_framebuffer_cache: Optimize framebuffer keyReinUsesLisp
Pack color attachment enumerations into a single u32. To determine the number of buffers, the highest color attachment with a shared pointer that doesn't point to null is used.
2019-11-28gl_rasterizer: Re-enable framebuffer cache for clear buffersReinUsesLisp
2019-11-28kernel: Implement a more accurate IPC dispatch.bunnei
2019-11-28Merge pull request #3169 from lioncash/memorybunnei
core/memory: Deglobalize memory management code