aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2019-03-06gpu: Refactor a/synchronous implementations into their own classes.bunnei
2019-03-06gpu: Move command processing to another thread.bunnei
2019-03-06gpu: Refactor command and swap buffers interface for asynch.bunnei
2019-03-06gpu: Refactor to take RendererBase instead of RasterizerInterface.bunnei
2019-03-06Merge pull request #2203 from lioncash/engines-includebunnei
video_core/engines: Remove unnecessary includes
2019-03-05video_core/engines: Remove unnecessary includesLioncash
Removes a few unnecessary dependencies on core-related machinery, such as the core.h and memory.h, which reduces the amount of rebuilding necessary if those files change. This also uncovered some indirect dependencies within other source files. This also fixes those.
2019-03-05video_core/surface: Remove obsolete TODO in PixelFormatFromRenderTargetFormat()Lioncash
This isn't needed anymore, according to Hexagon
2019-03-04Merge pull request #2165 from ReinUsesLisp/unbind-texbunnei
gl_rasterizer: Unbind textures but don't apply the gl_state
2019-03-02Merge pull request #2183 from ReinUsesLisp/vk-buffer-cache-clangMat M
vk_buffer_cache: Fix clang-format
2019-03-02Merge pull request #2182 from bunnei/my-wasted-fridaybunnei
fuck git for ruining my day, I will learn but I will not forgive
2019-03-02vk_buffer_cache: Fix clang-formatReinUsesLisp
2019-03-02fuck git for ruining my day, I will learn but I will not forgivebunnei
2019-03-01vk_buffer_cache: Implement a buffer cacheReinUsesLisp
This buffer cache is just like OpenGL's buffer cache with some minor style changes. It uses VKStreamBuffer.
2019-02-28gl_rasterizer: Remove texture unbinding after dispatching a draw callReinUsesLisp
Unbinding was required when OpenGL delete operations didn't unbind a resource if it was bound. This is no longer needed and can be removed.
2019-02-28gl_state: Fixup multibind bugReinUsesLisp
2019-02-27Merge pull request #2152 from ReinUsesLisp/vk-stream-bufferbunnei
vk_stream_buffer: Implement a stream buffer
2019-02-27Merge pull request #2121 from FernandoS27/texception2bunnei
Improve the Accuracy of the Rasterizer Cache through a Texception Pass
2019-02-27Merge pull request #2172 from lioncash/reorderbunnei
gl_rasterizer/vk_memory_manager: Silence -Wreorder warnings
2019-02-27Devirtualize Register/Unregister and use a wrapper instead.Fernando Sahmkow
2019-02-27Corrections and redesign.Fernando Sahmkow
2019-02-27Fix linux compile error.Fernando Sahmkow
2019-02-27Remove NotifyFrameBuffer as we are doing a texception pass every drawcall.Fernando Sahmkow
2019-02-27Remove certain optimizations that caused texception to fail in certain ↵Fernando Sahmkow
scenarios.
2019-02-27Bug fixes and formattingFernando Sahmkow
2019-02-27rasterizer_cache_gl: Implement Texception PassFernando Sahmkow
2019-02-27rasterizer_cache_gl: Implement Partial Reinterpretation of Surfaces.Fernando Sahmkow
2019-02-27rasterizer_cache: mark reinterpreted surfaces and add ability to reload ↵Fernando Sahmkow
marked surfaces on next use.
2019-02-27rasterizer_cache_gl: Notify on framebuffer changeFernando Sahmkow
2019-02-27rasterizer_cache: Expose FlushObject to Child classes and allow redefining ↵Fernando Sahmkow
of Register and Unregister
2019-02-27Merge pull request #2163 from ReinUsesLisp/bitset-dirtybunnei
maxwell_3d: Use std::bitset to manage dirty flags
2019-02-27Merge pull request #2167 from lioncash/namespacebunnei
common: Move Quaternion, Rectangle, Vec2, Vec3, and Vec4 into the Common namespace
2019-02-27vk_memory_manager: Reorder constructor initializer list in terms of member ↵Lioncash
declaration order Reorders members in the order that they would actually be initialized in. Silences a -Wreorder warning.
2019-02-27gl_rasterizer: Reorder constructor initializer list in terms of member ↵Lioncash
declaration order Orders the members in the order they would actually be initialized in. Silences a -Wreorder warning.
2019-02-27gl_shader_disk_cache: Remove #pragma once from cpp fileLioncash
This is only necessary in headers. Silences a warning with clang.
2019-02-27common/math_util: Move contents into the Common namespaceLioncash
These types are within the common library, so they should be within the Common namespace.
2019-02-26renderer_opengl: Update pixel format trackingReinUsesLisp
2019-02-26maxwell_3d: Use std::bitset to manage dirty flagsReinUsesLisp
2019-02-26vk_stream_buffer: Remove copy code pathReinUsesLisp
2019-02-25shader/track: Resolve variable shadowing warningsLioncash
2019-02-24Merge pull request #2118 from FernandoS27/ipa-improvebunnei
shader_decompiler: Improve Accuracy of Attribute Interpolation.
2019-02-24Merge pull request #2119 from FernandoS27/fix-copybunnei
rasterizer_cache_gl: Only do fast layered copy on the same format.
2019-02-24Merge pull request #2139 from degasus/dma_pusherbunnei
video_core/dma_pusher: The full list of headers at once.
2019-02-24vk_stream_buffer: Implement a stream bufferReinUsesLisp
This manages two kinds of streaming buffers: one for unified memory models and one for dedicated GPUs. The first one skips the copy from the staging buffer to the real buffer, since it creates an unified buffer. This implementation waits for all fences to finish their operation before "invalidating". This is suboptimal since it should allocate another buffer or start searching from the beginning. There is room for improvement here. This could also handle AMD's "pinned" memory (a heap with 256 MiB) that seems to be designed for buffer streaming.
2019-02-24vk_resource_manager: Minor VKFenceWatch changesReinUsesLisp
2019-02-23Merge pull request #2146 from ReinUsesLisp/vulkan-schedulerbunnei
vk_scheduler: Implement a scheduler
2019-02-23Merge pull request #2150 from ReinUsesLisp/fixup-layer-swizzlebunnei
gl_rasterizer_cache: Fixup parameter order in layered swizzle
2019-02-24vk_memory_manager: Fixup commit interval allocationReinUsesLisp
VKMemoryCommitImpl was using as the end of its interval "begin + end". That ended up wasting memory.
2019-02-23gl_rasterizer_cache: Fixup parameter order in layered swizzleReinUsesLisp
2019-02-22vk_scheduler: Implement a schedulerReinUsesLisp
The scheduler abstracts command buffer and fence management with an interface that's able to do OpenGL-like operations on Vulkan command buffers. It returns by value a command buffer and fence that have to be used for subsequent operations until Flush or Finish is executed, after that the current execution context (the pair of command buffers and fences) gets invalidated a new one must be fetched. Thankfully validation layers will quickly detect if this is skipped throwing an error due to modifications to a sent command buffer.
2019-02-21Merge pull request #2138 from ReinUsesLisp/vulkan-memory-managerbunnei
vk_memory_manager: Implement memory manager