[D3D12] Render target allocation fixes
This commit is contained in:
parent
6b9717c7f7
commit
fe5ec61b51
|
@ -210,6 +210,8 @@ bool RenderTargetCache::UpdateRenderTargets() {
|
||||||
// Some render target is totally in the end of EDRAM, or nothing is drawn.
|
// Some render target is totally in the end of EDRAM, or nothing is drawn.
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
// Don't create render targets larger than x2560.
|
||||||
|
edram_max_rows = std::min(edram_max_rows, 160u * msaa_samples_y);
|
||||||
// Check the following full update conditions:
|
// Check the following full update conditions:
|
||||||
// - Render target is disabled and another render target got more space than
|
// - Render target is disabled and another render target got more space than
|
||||||
// is currently available in the textures.
|
// is currently available in the textures.
|
||||||
|
@ -486,7 +488,7 @@ bool RenderTargetCache::UpdateRenderTargets() {
|
||||||
rtv_handles[rtv_count] = binding.render_target->handle;
|
rtv_handles[rtv_count] = binding.render_target->handle;
|
||||||
current_pipeline_render_targets_[rtv_count].guest_render_target = i;
|
current_pipeline_render_targets_[rtv_count].guest_render_target = i;
|
||||||
current_pipeline_render_targets_[rtv_count].format =
|
current_pipeline_render_targets_[rtv_count].format =
|
||||||
GetColorDXGIFormat(ColorRenderTargetFormat(formats[4]));
|
GetColorDXGIFormat(ColorRenderTargetFormat(formats[i]));
|
||||||
++rtv_count;
|
++rtv_count;
|
||||||
}
|
}
|
||||||
for (uint32_t i = rtv_count; i < 4; ++i) {
|
for (uint32_t i = rtv_count; i < 4; ++i) {
|
||||||
|
|
Loading…
Reference in New Issue