aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/texture_cache/surface_params.h
AgeCommit message (Collapse)Author
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-09-06video_core: Remove all Core::System references in rendererReinUsesLisp
Now that the GPU is initialized when video backends are initialized, it's no longer needed to query components once the game is running: it can be done when yuzu is booting. This allows us to pass components between constructors and in the process remove all Core::System references in the video backend.
2020-07-10video_core/textures: Add and use SwizzleSliceToVoxel, and minor style changesReinUsesLisp
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.
2020-04-01video_core: Use native ASTC when availableReinUsesLisp
2020-02-16texture_cache: Implement layered framebuffer attachmentsReinUsesLisp
Layered framebuffer attachments is a feature that allows applications to write attach layered textures to a single attachment. What layer the fragments are written to is decided from the shader using gl_Layer.
2020-01-13texture_cache/surface_params: Make GetNumLayers publicReinUsesLisp
2019-12-22Texture Cache: Improve documentationFernando Sahmkow
2019-12-22Texture Cache: Address FeedbackFernando Sahmkow
2019-12-22Texture Cache: Add HLE methods for building 3D textures within the GPU in ↵Fernando Sahmkow
certain scenarios. 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.
2019-11-20Texture_Cache: Redo invalid Surfaces handling.Fernando Sahmkow
This commit aims to redo the full setup of invalid textures and guarantee correct behavior across backends in the case of finding one by using black dummy textures that match the target of the expected texture.
2019-11-14texture_cache: Use a table instead of switch for texture formatsReinUsesLisp
Use a large flat array to look up texture formats. This allows us to properly implement formats with different component types. It should also be faster.
2019-11-14texture_cache: Drop abstracted ComponentTypeReinUsesLisp
Abstracted ComponentType was not being used in a meaningful way. This commit drops its usage. There is one place where it was being used to test compatibility between two cached surfaces, but this one is implied in the pixel format. Removing the component type test doesn't change the behaviour.
2019-09-05texture_cache: Minor changesReinUsesLisp
2019-09-05gl_rasterizer: Implement image bindingsReinUsesLisp
2019-09-05texture_cache: Pass TIC to texture cacheReinUsesLisp
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-29texture_cache: Style changesReinUsesLisp
2019-06-25surface_params: Corrections, asserts and documentation.Fernando Sahmkow
2019-06-20texture_cache: move some large methods to cpp filesFernando Sahmkow
2019-06-20texture_cache uncompress-compress is untopological.Fernando Sahmkow
This makes conflicts between non compress and compress textures to be auto recycled. It also limits the amount of mipmaps a texture can have if it goes above it's limit.
2019-06-20texture_cache: Correct copying between compressed and uncompressed formatsFernando Sahmkow
2019-06-20Fix rebase errorsFernando 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-06-20texture_cache: General FixesFernando Sahmkow
Fixed ASTC mipmaps loading Fixed alignment on openGL upload/download Fixed Block Height Calculation Removed unalign_height
2019-06-20video_core: Use un-shifted block sizes to avoid integer divisionsReinUsesLisp
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).
2019-06-20Reduce amount of size calculations.Fernando Sahmkow
2019-06-20Correct Surface Base and Views for new Texture CacheFernando Sahmkow
2019-06-20texture_cache: Split texture cache into different filesReinUsesLisp