diff --git a/README.md b/README.md index 1c6efce22..909a5f83d 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ yuzu emulator early access ============= -This is the source code for early-access 2246. +This is the source code for early-access 2247. ## Legal Notice diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index f24de9a38..756b6135e 100755 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -725,7 +725,11 @@ ImageViewId TextureCache
::CreateImageView(const TICEntry& config) { } const u32 layer_offset = config.BaseLayer() * info.layer_stride; const GPUVAddr image_gpu_addr = config.Address() - layer_offset; - const ImageId image_id = FindOrInsertImage(info, image_gpu_addr); + ImageId image_id{}; + do { + has_deleted_images = false; + image_id = FindOrInsertImage(info, image_gpu_addr); + } while (has_deleted_images); if (!image_id) { return NULL_IMAGE_VIEW_ID; } @@ -1137,8 +1141,11 @@ typename TextureCache
::BlitImages TextureCache
::GetBlitImages(
} while (has_deleted_images);
if (GetFormatType(dst_info.format) != SurfaceType::ColorTexture) {
// Make sure the images are depth and/or stencil textures.
- src_id = FindOrInsertImage(src_info, src_addr, RelaxedOptions{});
- dst_id = FindOrInsertImage(dst_info, dst_addr, RelaxedOptions{});
+ do {
+ has_deleted_images = false;
+ src_id = FindOrInsertImage(src_info, src_addr, RelaxedOptions{});
+ dst_id = FindOrInsertImage(dst_info, dst_addr, RelaxedOptions{});
+ } while (has_deleted_images);
}
return BlitImages{
.dst_id = dst_id,
@@ -1196,7 +1203,11 @@ template ::FindRenderTargetView(const ImageInfo& info, GPUVAddr gpu_addr,
bool is_clear) {
const auto options = is_clear ? RelaxedOptions::Samples : RelaxedOptions{};
- const ImageId image_id = FindOrInsertImage(info, gpu_addr, options);
+ ImageId image_id{};
+ do {
+ has_deleted_images = false;
+ image_id = FindOrInsertImage(info, gpu_addr, options);
+ } while (has_deleted_images);
if (!image_id) {
return NULL_IMAGE_VIEW_ID;
}
diff --git a/src/video_core/texture_cache/util.cpp b/src/video_core/texture_cache/util.cpp
index e76f8f755..7bd31b211 100755
--- a/src/video_core/texture_cache/util.cpp
+++ b/src/video_core/texture_cache/util.cpp
@@ -1151,7 +1151,6 @@ bool IsSubresource(const ImageInfo& candidate, const ImageBase& image, GPUVAddr
void DeduceBlitImages(ImageInfo& dst_info, ImageInfo& src_info, const ImageBase* dst,
const ImageBase* src) {
- const auto original_src_format = src_info.format;
const auto original_dst_format = dst_info.format;
if (src && GetFormatType(src->info.format) != SurfaceType::ColorTexture) {
src_info.format = src->info.format;