summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-01-16Merge pull request #3307 from jroweboy/fix-gitbunnei
Fix git version in scm_rev.cpp
2020-01-16Fix git version in scm_rev.cppJames Rowe
2020-01-14Merge pull request #3303 from lioncash/reorderRodrigo Locatti
control_flow: Silence -Wreorder warning for CFGRebuildState
2020-01-14Merge pull request #3302 from lioncash/unused-varRodrigo Locatti
gl_shader_cache: Remove unused variables
2020-01-14control_flow: Silence -Wreorder warning for CFGRebuildStateLioncash
Organizes the initializer list in the same order that the variables would actually be initialized in.
2020-01-14Merge pull request #3296 from Simek/hotkeys_resizebunnei
GUI/configure: resize hotkeys action column to fit content
2020-01-14gl_shader_cache: Remove unused STAGE_RESERVED_UBOS constantLioncash
Given this isn't used, this can be removed entirely.
2020-01-14gl_shader_cache: std::move entries in CachedShader constructorLioncash
Avoids several reallocations of std::vector instances where applicable.
2020-01-14gl_shader_cache: Remove unused entries variable in BuildShader()Lioncash
Eliminates a few unnecessary constructions of std::vectors.
2020-01-14Merge pull request #3287 from ReinUsesLisp/ldg-stg-16bunnei
shader_ir/memory: Implement u16 and u8 for STG and LDG
2020-01-13Merge pull request #3288 from ReinUsesLisp/uncurse-aoffibunnei
shader_ir/texture: Simplify AOFFI code
2020-01-13Merge pull request #3290 from ReinUsesLisp/gl-clampbunnei
maxwell_to_vk: Implement GL_CLAMP hacking Nvidia's driver
2020-01-13Merge pull request #3292 from degasus/heap_space_fixbunnei
core/kernel: Fix GetTotalPhysicalMemoryUsed.
2020-01-12GUI/configure: resize hotkeys column to contentBartosz Kaszubowski
2020-01-12Merge pull request #3283 from ReinUsesLisp/vk-compute-passFernando Sahmkow
vk_compute_pass: Add compute passes to emulate missing Vulkan features
2020-01-11core/kernel: Fix GetTotalPhysicalMemoryUsed.Markus Wick
module._memory was already moved over to a new shared_ptr. So code_memory_size was not increased at all. This lowers the heap space and so saves a bit of memory, usually between 50 to 100 MB. This fixes a regression of c0a01f3adc466d07fc27020048e82cca60988970
2020-01-10vk_compute_pass: Address feedbackRodrigo Locatti
Comment hardcoded SPIR-V modules.
2020-01-10maxwell_to_vk: Implement GL_CLAMP hacking Nvidia's driverReinUsesLisp
Nvidia's driver defaults invalid enumerations to GL_CLAMP. Vulkan doesn't expose GL_CLAMP through its API, but we can hack it on Nvidia's driver using the internal driver defaults.
2020-01-09shader_ir/texture: Simplify AOFFI codeReinUsesLisp
2020-01-09shader_ir/memory: Implement u16 and u8 for STG and LDGReinUsesLisp
Using the same technique we used for u8 on LDG, implement u16. In the case of STG, load memory and insert the value we want to set into it with bitfieldInsert. Then set that value.
2020-01-08vk_compute_pass: Add compute passes to emulate missing Vulkan featuresReinUsesLisp
This currently only supports quad arrays and u8 indices. In the future we can remove quad arrays with a table written from the CPU, but this was used to bootstrap the other passes helpers and it was left in the code. The blob code is generated from the "shaders/" directory. Read the instructions there to know how to generate the SPIR-V.
2020-01-08vk_shader_util: Add helper to build SPIR-V shadersReinUsesLisp
2020-01-08Merge pull request #3279 from ReinUsesLisp/vk-pipeline-cacheFernando Sahmkow
vk_pipeline_cache: Initial implementation
2020-01-07Merge pull request #3272 from bunnei/vi-close-layerbunnei
service: vi: Implement CloseLayer.
2020-01-06vk_pipeline_cache: Initial implementationReinUsesLisp
Given a pipeline key, this cache returns a pipeline abstraction (for graphics or compute).
2020-01-06vk_graphics_pipeline: Initial implementationReinUsesLisp
This abstractio represents the state of the 3D engine at a given draw. Instead of changing individual bits of the pipeline how it's done in APIs like D3D11, OpenGL and NVN; on Vulkan we are forced to put everything together into a single, immutable object. It takes advantage of the few dynamic states Vulkan offers.
2020-01-06vk_compute_pipeline: Initial implementationReinUsesLisp
This abstraction represents a Vulkan compute pipeline.
2020-01-06vk_pipeline_cache: Add file and define descriptor update template fillerReinUsesLisp
This function allows us to share code between compute and graphics pipelines compilation.
2020-01-06fixed_pipeline_state: Add depth clampReinUsesLisp
2020-01-06vk_rasterizer: Add placeholderReinUsesLisp
2020-01-06Merge pull request #3276 from ReinUsesLisp/pipeline-reqsbunnei
vk_update_descriptor/vk_renderpass_cache: Add pipeline cache dependencies
2020-01-06Merge pull request #3278 from ReinUsesLisp/vk-memory-managerbunnei
renderer_vulkan: Buffer cache, stream buffer and memory manager changes
2020-01-06vk_renderpass_cache: Initial implementationReinUsesLisp
The renderpass cache is used to avoid creating renderpasses on each draw. The hashed structure is not currently optimized.
2020-01-06vk_update_descriptor: Initial implementationReinUsesLisp
The update descriptor is used to store in flat memory a large chunk of staging data used to update descriptor sets through templates. It provides a push interface to easily insert descriptors following the current pipeline. The order used in the descriptor update template has to be implicitly followed. We can catch bugs here using validation layers.
2020-01-06vk_stream_buffer/vk_buffer_cache: Avoid halting and use generic cacheReinUsesLisp
The stream buffer before this commit once it was full (no more bytes to write before looping) waiting for all previous operations to finish. This was a temporary solution and had a noticeable performance penalty in performance (from what a profiler showed). To avoid this mark with fences usages of the stream buffer and once it loops wait for them to be signaled. On average this will never wait. Each fence knows where its usage finishes, resulting in a non-paged stream buffer. On the other side, the buffer cache is reimplemented using the generic buffer cache. It makes use of the staging buffer pool and the new stream buffer.
2020-01-06vk_memory_manager: Misc changesReinUsesLisp
* Allocate memory in discrete exponentially increasing chunks until the 128 MiB threshold. Allocations larger thant that increase linearly by 256 MiB (depending on the required size). This allows to use small allocations for small resources. * Move memory maps to a RAII abstraction. To optimize for debugging tools (like RenderDoc) users will map/unmap on usage. If this ever becomes a noticeable overhead (from my profiling it doesn't) we can transparently move to persistent memory maps without harming the API, getting optimal performance for both gameplay and debugging. * Improve messages on exceptional situations. * Fix typos "requeriments" -> "requirements". * Small style changes.
2020-01-06vk_buffer_cache: Temporarily remove buffer cacheReinUsesLisp
This is intended for a follow up commit to avoid circular dependencies.
2020-01-06Merge pull request #3277 from ReinUsesLisp/make-currentbunnei
yuzu/bootmanager: Remove {glx,wgl}MakeCurrent on SwapBuffers
2020-01-06yuzu/bootmanager: Remove {glx,wgl}MakeCurrent on SwapBuffersReinUsesLisp
MakeCurrent is a costly (according to Nsight's profiler it takes a tenth of a millisecond to complete), and we don't have a reason to call it because: - Qt no longer signals a warning if it's not called - yuzu no longer supports macOS
2020-01-06Merge pull request #3261 from degasus/page_tablebunnei
core/memory + arm/dynarmic: Use a global offset within our arm page table.
2020-01-06Merge pull request #3257 from degasus/no_busy_loopsbunnei
video_core: Block in WaitFence.
2020-01-05Merge pull request #3264 from ReinUsesLisp/vk-descriptor-poolFernando Sahmkow
vk_descriptor_pool: Initial implementation
2020-01-05Merge pull request #2945 from FernandoS27/fix-bcatbunnei
nifm: Only return that there's an internet connection when there's a BCATServer
2020-01-04Merge pull request #3258 from FernandoS27/shader-amendbunnei
Shader_IR: add the ability to amend code in the shader ir.
2020-01-04Shader_IR: Address FeedbackFernando Sahmkow
2020-01-04service: vi: Implement CloseLayer.bunnei
- Needed for Undertale.
2020-01-03Update src/video_core/renderer_vulkan/vk_descriptor_pool.cppRodrigo Locatti
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2020-01-03Merge pull request #3247 from FernandoS27/remap-fixbunnei
NvServices: Correct Ioctl Remap.
2020-01-02Merge pull request #3267 from ReinUsesLisp/remove-maxwell-debuggerbunnei
yuzu: Remove Maxwell debugger
2020-01-02yuzu: Remove Maxwell debuggerReinUsesLisp
This was carried from Citra and wasn't really used on yuzu. It also adds some runtime overhead. This commit removes it from yuzu's codebase.