summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_image.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* video_core: Rewrite the texture cacheReinUsesLisp2020-12-301-84/+0
| | | | | | | | | | | | | | 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.
* video_core: Resolve more variable shadowing scenarios pt.2Lioncash2020-12-051-2/+2
| | | | | | | Migrates the video core code closer to enabling variable shadowing warnings as errors. This primarily sorts out shadowing occurrences within the Vulkan code.
* renderer_vulkan: Drop Vulkan-HppReinUsesLisp2020-04-111-20/+20
|
* vk_image: Avoid unnecesary equalsRodrigo Locatti2019-12-301-1/+1
|
* vk_image: Add an image object abstractionReinUsesLisp2019-12-251-0/+84
This object's job is to contain an image and manage its transitions. Since Nvidia hardware doesn't know what a transition is but Vulkan requires them anyway, we have to state track image subresources individually. To avoid the overhead of tracking each subresource in images with many subresources (think of cubemap arrays with several mipmaps), this commit tracks when subresources have diverged. As long as this doesn't happen we can check the state of the first subresource (that will be shared with all subresources) and update accordingly. Image transitions are deferred to the scheduler command buffer.