summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* texture_cache: Split texture cache into different filesReinUsesLisp2019-06-211-530/+0
|
* texture_cache: Move staging buffer into a generic implementationReinUsesLisp2019-06-211-1/+109
|
* texture_cache: Flush 3D textures in the order they are drawnReinUsesLisp2019-06-211-4/+7
|
* gl_texture_cache: Minor changesReinUsesLisp2019-06-211-29/+43
|
* gl_texture_cache: Add copy from multiple overlaps into a single surfaceReinUsesLisp2019-06-211-1/+1
|
* gl_texture_cache: Add fast copy pathReinUsesLisp2019-06-211-2/+2
|
* gl_texture_cache: Initial implementationReinUsesLisp2019-06-211-9/+28
|
* video_core: Implement API agnostic view based texture cacheReinUsesLisp2019-03-221-0/+386
Implements an API agnostic texture view based texture cache. Classes defined here are intended to be inherited by the API implementation and used in API-specific code. This implementation exposes protected virtual functions to be called from the implementer. Before executing any surface copies methods (defined in API-specific code) it tries to detect if the overlapping surface is a superset and if it is, it creates a view. Views are references of a subset of a surface, it can be a superset view (the same as referencing the whole texture). Current code manages 1D, 1D array, 2D, 2D array, cube maps and cube map arrays with layer and mipmap level views. Texture 3D slices views are not implemented. If the view attempt fails, the fast path is invoked with the overlapping textures (defined in the implementer). If that one fails (returning nullptr) it will flush and reload the texture.