aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/engines/fermi_2d.cpp
AgeCommit message (Collapse)Author
2023-11-18shader_recompiler: Fix spelling of "derivate" (#12067)Ameer J
2023-04-21Account for a pre-added offset when using Corner sample mode for 2D blitsKelebek1
2023-01-05Fermi2D: sync cache flushesFernando Sahmkow
2023-01-01DMAPusher: Improve collection of non executing methodsFernando Sahmkow
2022-11-24Fermi2D: Implement Bilinear software filtering and address feedback.Fernando Sahmkow
2022-11-24Fermi2D: Rework blit engine and add a software blitter.Fernando Sahmkow
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2021-07-08Out of bound blit (#6531)Feng Chen
* Fix out of bound blit error * Fix code read * Fix ci error Co-authored-by: Feng Chen <chen.feng@gloritysolutions.com>
2021-02-13gpu: Report renderer errors with exceptionsReinUsesLisp
Instead of using a two step initialization to report errors, initialize the GPU renderer and rasterizer on the constructor and report errors through std::runtime_error.
2020-12-30video_core: Rewrite the texture cacheReinUsesLisp
The current texture cache has several points that hurt maintainability and performance. It's easy to break unrelated parts of the cache when doing minor changes. The cache can easily forget valuable information about the cached textures by CPU writes or simply by its normal usage.The current texture cache has several points that hurt maintainability and performance. It's easy to break unrelated parts of the cache when doing minor changes. The cache can easily forget valuable information about the cached textures by CPU writes or simply by its normal usage. This commit aims to address those issues.
2020-12-07video_core: Remove unnecessary enum class casting in logging messagesLioncash
fmt now automatically prints the numeric value of an enum class member by default, so we don't need to use casts any more. Reduces the line noise a bit.
2020-09-18fermi_2d: Make use of designated initializersLioncash
Same behavior, less repetition. We can also ensure all members of Config are initialized.
2020-08-22video_core: Initialize renderer with a GPUReinUsesLisp
Add an extra step in GPU initialization to be able to initialize render backends with a valid GPU instance.
2020-04-27VideoCore/Engines: Refactor Engines CallMethod.Fernando Sahmkow
2020-04-23DMAPusher: Propagate multimethod writes into the engines.Fernando Sahmkow
2020-04-16General: Resolve warnings related to missing declarationsLioncash
2019-10-17Fermi2D: Use a different formula for delimiting blit areas.Fernando Sahmkow
2019-10-17Fermi2D: limit blit area to only available areaFernando Sahmkow
Normaly OpenGL does not care if the areas exceed the texture regions but other backends such as Vulkan do care about the limits of this areas. This PR crops the areas of the blit in order that they don't surpass the limits of the textures. This should help Vulkan and faulty OpenGL drivers
2019-09-22Fix clang-formatFearlessTobi
2019-09-22fermi_2d: Lower surface copy log severity to DEBUGFearlessTobi
2019-08-30video_core: Silent miscellaneous warnings (#2820)Rodrigo Locatti
* texture_cache/surface_params: Remove unused local variable * rasterizer_interface: Add missing documentation commentary * maxwell_dma: Remove unused rasterizer reference * video_core/gpu: Sort member declaration order to silent -Wreorder warning * fermi_2d: Remove unused MemoryManager reference * video_core: Silent unused variable warnings * buffer_cache: Silent -Wreorder warnings * kepler_memory: Remove unused MemoryManager reference * gl_texture_cache: Add missing override * buffer_cache: Add missing include * shader/decode: Remove unused variables
2019-06-20fermi2d: Correct Origin ModeFernando Sahmkow
2019-06-20texture_cache: Fermi2D reform and implement View MirageFernando Sahmkow
This also does some fixes on compressed textures reinterpret and on the Fermi2D engine in general.
2019-04-05video_core/engines: Make memory manager members privateLioncash
These aren't used externally by anything, so they can be made private data members.
2019-04-05video_core/engines: Remove unnecessary inclusions where applicableLioncash
Replaces header inclusions with forward declarations where applicable and also removes unused headers within the cpp file. This reduces a few more dependencies on core/memory.h
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-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-06gl_rasterizer: Implement a more accurate fermi 2D copy.bunnei
- This is a blit, use the blit registers.
2019-02-03video_core: Assert on invalid GPU to CPU address queriesReinUsesLisp
2018-11-28Merge pull request #1792 from bunnei/dma-pusherbunnei
gpu: Rewrite GPU command list processing with DmaPusher class.
2018-11-27Merge pull request #1735 from FernandoS27/tex-spacingbunnei
Texture decoder: Implemented Tile Width Spacing
2018-11-26gpu: Rewrite GPU command list processing with DmaPusher class.bunnei
- More accurate impl., fixes Undertale (among other games).
2018-11-26Implemented Tile Width SpacingFernandoS27
2018-11-17gl_rasterizer: Skip VB upload if the state is clean.Markus Wick
2018-10-18fermi_2d: Add support for more accurate surface copies.bunnei
2018-10-13Propagate depth and depth_block on modules using decodersFernandoS27
2018-10-06fermi_2d: Implement simple copies with AccelerateSurfaceCopy.bunnei
2018-07-20video_core: Use nested namespaces where applicableLioncash
Compresses a few namespace specifiers to be more compact.
2018-07-02Update clang formatJames Rowe
2018-07-02Rename logging macro back to LOG_*James Rowe
2018-06-12GPU: Partially implemented the Maxwell DMA engine.Subv
Only tiled->linear and linear->tiled copies that aren't offsetted are supported for now. Queries are not supported. Swizzled copies are not supported.
2018-04-28fermi_2d: Fix surface copy block height.bunnei
2018-04-25GPU: Partially implemented the Fermi2D surface copy operation.Subv
The hardware allows for some rather complicated operations to be performed on the data during the copy, this is not implemented. Only same-format same-size raw copies are implemented for now.
2018-04-25GPU: Added boilerplate code for the Fermi2D engineSubv
2018-03-18GPU: Macros are specific to the Maxwell3D engine, so handle them internally.Subv
2018-03-16GPU: Process command mode 5 (IncreaseOnce) differently from other commands.Subv
Accumulate all arguments before calling the desired method. Note: Maybe we should do the same for the NonIncreasing mode?
2018-02-11Make a GPU class in VideoCore to contain the GPU state.Subv
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
2018-02-11GPU: Added a command processor to decode the GPU pushbuffers and forward the ↵Subv
commands to their respective engines.