Skip to content
  • ReinUsesLisp's avatar
    video_core: Implement API agnostic view based texture cache · d708d03d
    ReinUsesLisp authored
    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.
    d708d03d
Loading