summaryrefslogtreecommitdiffstats
path: root/src/video_core/textures/decoders.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* DMA & InlineToMemory Engines Rework.bunnei2022-10-061-27/+6
|
* video_core/textures/decoders: Avoid SWIZZLE_TABLEMerry2022-08-091-0/+3
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | 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.
* renderer_vulkan: Accelerate ASTC decodingameerj2021-03-131-2/+16
| | | | Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
* video_core: Rewrite the texture cacheReinUsesLisp2020-12-301-23/+21
| | | | | | | | | | | | | | 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.
* textures/decoders: Fix block linear to pitch copiesReinUsesLisp2020-08-111-3/+2
| | | | | | | | | | | | There were two issues with block linear copies. First the swizzling was wrong and this commit reimplements them. The other issue was that these copies are generally used to download render targets from the GPU and yuzu was not downloading them from host GPU memory unless the extreme GPU accuracy setting was selected. This commit enables cached memory reads for all accuracy levels. - Fixes level thumbnails in Super Mario Maker 2.
* Merge pull request #4324 from ReinUsesLisp/formatsbunnei2020-07-211-4/+0
|\ | | | | video_core: Fix, add and rename pixel formats
| * video_core: Rearrange pixel format namesReinUsesLisp2020-07-131-4/+0
| | | | | | | | | | | | Normalizes pixel format names to match Vulkan names. Previous to this commit pixel formats had no convention, leading to confusion and potential bugs.
* | video_core/textures: Add and use SwizzleSliceToVoxel, and minor style changesReinUsesLisp2020-07-101-10/+28
|/ | | | | | | Change GOB sizes from free-functions to constexpr constants. Add SwizzleSliceToVoxel, a function that swizzles a 2D array of pixels into a 3D texture and use it for 3D copies.
* Clang Format and Documentation.Fernando Sahmkow2020-04-281-0/+1
|
* MaxwellDMA: Optimize micro copies.Fernando Sahmkow2020-04-281-0/+3
|
* General: Resolve warnings related to missing declarationsLioncash2020-04-171-3/+2
|
* Texture Cache: Add HLE methods for building 3D textures within the GPU in certain scenarios.Fernando Sahmkow2019-12-221-0/+4
| | | | | | This commit adds a series of HLE methods for handling 3D textures in general. This helps games that generate 3D textures on every frame and may reduce loading times for certain games.
* MaxwellDMA: Fixes, corrections and relaxations.Fernando Sahmkow2019-07-261-1/+2
| | | | | | | This commit fixes offsets on Linear -> Tiled copies, corrects z pos fortiled->linear copies, corrects bytes_per_pixel calculation in tiled -> linear copies and relaxes some limitations set by latest dma fixes refactors.
* video_core: Use un-shifted block sizes to avoid integer divisionsReinUsesLisp2019-06-211-2/+2
| | | | | | | | | | | | Instead of storing all block width, height and depths in their shifted form: block_width = 1U << block_shift; Store them like they are provided by the emulated hardware (their block_shift form). This way we can avoid doing the costly Common::AlignUp operation to align texture sizes and drop CPU integer divisions with bitwise logic (defined in Common::AlignBits).
* Apply Const correctness to SwizzleKepler and replace u32 for size_t on iterators.Fernando Sahmkow2019-04-161-2/+3
|
* Implement Block Linear copies in Kepler Memory.Fernando Sahmkow2019-04-161-0/+3
|
* video_core: Refactor to use MemoryManager interface for all memory access.bunnei2019-03-161-7/+6
| | | | | | | | | | | # Conflicts: # src/video_core/engines/kepler_memory.cpp # src/video_core/engines/maxwell_3d.cpp # src/video_core/morton.cpp # src/video_core/morton.h # src/video_core/renderer_opengl/gl_global_cache.cpp # src/video_core/renderer_opengl/gl_global_cache.h # src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
* decoders: Minor style changesReinUsesLisp2019-02-271-12/+6
|
* Implemented Tile Width SpacingFernandoS272018-11-261-3/+4
|
* Eliminated unnessessary memory allocation and copy (#1702)Frederic L2018-11-191-0/+7
|
* Fix ASTC formatsFernandoS272018-11-011-2/+2
|
* Fixed mipmap block autosizing algorithmFernandoS272018-10-291-0/+6
|
* decoders: Introduce functions for un/swizzling subrects.bunnei2018-10-191-0/+9
|
* Propagate depth and depth_block on modules using decodersFernandoS272018-10-131-9/+6
|
* Implemented helper function to correctly calculate a texture's sizeFernandoS272018-10-121-0/+6
|
* textures: Refactor out for Texture/Depth FormatFromPixelFormat.bunnei2018-08-101-2/+2
|
* video_core: Use nested namespaces where applicableLioncash2018-07-211-4/+2
| | | | Compresses a few namespace specifiers to be more compact.
* GPU: Implemented the Z24S8 depth format and load the depth framebuffer.Subv2018-07-021-0/+6
|
* GPU: Make the Textures::CopySwizzledData function accessible from the outside of the file.Subv2018-04-251-0/+4
|
* GPU: Allow using a configurable block height when unswizzling textures.Subv2018-04-181-1/+2
|
* GPU: Added a method to unswizzle a texture without decoding it.Subv2018-03-241-2/+8
| | | | Allow unswizzling of DXT1 textures.
* GPU: Preliminary work for texture decoding.Subv2018-03-241-0/+20