aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2019-03-12video_core/texture: Add a raw representation of TSCEntryReinUsesLisp
2019-03-12Merge pull request #2215 from ReinUsesLisp/samplersbunnei
gl_rasterizer: Encapsulate sampler queries into methods
2019-03-11renderer_opengl/gl_global_cache: Replace indexing for assignment with ↵Lioncash
insert_or_assign The previous code had some minor issues with it, really not a big deal, but amending it is basically 'free', so I figured, "why not?". With the standard container maps, when: map[key] = thing; is done, this can cause potentially undesirable behavior in certain scenarios. In particular, if there's no value associated with the key, then the map constructs a default initialized instance of the value type. In this case, since it's a std::shared_ptr (as a type alias) that is the value type, this will construct a std::shared_pointer, and then assign over it (with objects that are quite large, or actively heap allocate this can be extremely undesirable). We also make the function take the region by value, as we can avoid a copy (and by extension with std::shared_ptr, a copy causes an atomic reference count increment), in certain scenarios when ownership isn't a concern (i.e. when ReserveGlobalRegion is called with an rvalue reference, then no copy at all occurs). So, it's more-or-less a "free" gain without many downsides.
2019-03-11renderer_opengl/gl_global_cache: Append missing override specifiersLioncash
Two of the functions here are overridden functions, so we can append these specifiers to make it explicit.
2019-03-11gl_rasterizer: Use system instance passed from argumentReinUsesLisp
2019-03-10Merge pull request #2147 from ReinUsesLisp/texture-cleanbunnei
shader_ir: Remove "extras" from the MetaTexture
2019-03-10Merge pull request #2143 from ReinUsesLisp/texviewbunnei
gl_rasterizer_cache: Create texture views for array discrepancies
2019-03-09gl_rasterizer: Encapsulate sampler queries into methodsReinUsesLisp
2019-03-09gl_rasterizer: Minor logger changesReinUsesLisp
2019-03-08Merge pull request #2209 from lioncash/reorderbunnei
video_core/gpu_thread: Silence a -Wreorder warning
2019-03-08Merge pull request #2208 from lioncash/gpubunnei
video_core/gpu: Make GPU's destructor virtual
2019-03-08Merge pull request #2191 from ReinUsesLisp/maxwell-to-vkbunnei
maxwell_to_vk: Initial implementation
2019-03-08dma_pusher: Store command_list_header by copyReinUsesLisp
Instead of holding a reference that will get invalidated by dma_pushbuffer.pop(), hold it as a copy. This doesn't have any performance cost since CommandListHeader is 8 bytes long.
2019-03-07video_core/gpu_thread: Remove unimplemented WaitForIdle function prototypeLioncash
This function didn't have a definition, so we can remove it to prevent accidentally attempting to use it.
2019-03-07video_core/gpu_thread: Amend constructor initializer list orderLioncash
Moves the data members to satisfy the order they're declared as in the constructor initializer list. Silences a -Wreorder warning.
2019-03-07video_core/gpu: Make GPU's destructor virtualLioncash
Because of the recent separation of GPU functionality into sync/async variants, we need to mark the destructor virtual to provide proper destruction behavior, given we use the base class within the System class. Prior to this, it was undefined behavior whether or not the destructor in the derived classes would ever execute.
2019-03-07Merge pull request #2055 from bunnei/gpu-threadbunnei
Asynchronous GPU command processing
2019-03-06Merge pull request #2149 from ReinUsesLisp/decoders-stylebunnei
gl_rasterizer_cache: Move format conversion functions to their own file
2019-03-06gpu_thread: Fix deadlock with threading idle state check.bunnei
2019-03-06gpu_thread: (HACK) Ignore flush on FlushAndInvalidateRegion.bunnei
2019-03-06gpu: Always flush.bunnei
2019-03-06gpu: Refactor a/synchronous implementations into their own classes.bunnei
2019-03-06gpu: Move command processing to another thread.bunnei
2019-03-06Merge pull request #2190 from lioncash/ogl-globalbunnei
core: Remove the global telemetry accessor function
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-04video_core/renderer_opengl: Replace direct usage of global system object ↵Lioncash
accessors We already pass a reference to the system object to the constructor of the renderer, so we can just use that instead of using the global accessor functions.
2019-03-04maxwell_to_vk: Initial implementationReinUsesLisp
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