mirror of
https://github.com/TomHarte/CLK.git
synced 2024-12-25 18:30:21 +00:00
Switches to more coherent logic about buffer sizing.
This commit is contained in:
parent
7441e3f4c5
commit
84422676cb
@ -562,11 +562,10 @@ void ScanTarget::update(int output_width, int output_height) {
|
|||||||
resolution_reduction_level_ = 1;
|
resolution_reduction_level_ = 1;
|
||||||
output_height_ = output_height;
|
output_height_ = output_height;
|
||||||
}
|
}
|
||||||
const int min_framebuffer_height = (resolution_reduction_level_ > 1) ? 2160 / resolution_reduction_level_ : std::numeric_limits<int>::max();
|
|
||||||
|
|
||||||
// Ensure the accumulation buffer is properly sized, allowing for the metrics object's
|
// Ensure the accumulation buffer is properly sized, allowing for the metrics object's
|
||||||
// feelings about whether too high a resolution is being used.
|
// feelings about whether too high a resolution is being used.
|
||||||
int framebuffer_height = std::min(output_height / resolution_reduction_level_, min_framebuffer_height);
|
const int framebuffer_height = std::max(output_height / resolution_reduction_level_, std::min(540, output_height));
|
||||||
const int proportional_width = (framebuffer_height * 4) / 3;
|
const int proportional_width = (framebuffer_height * 4) / 3;
|
||||||
const bool did_create_accumulation_texture = !accumulation_texture_ || ( (accumulation_texture_->get_width() != proportional_width || accumulation_texture_->get_height() != framebuffer_height));
|
const bool did_create_accumulation_texture = !accumulation_texture_ || ( (accumulation_texture_->get_width() != proportional_width || accumulation_texture_->get_height() != framebuffer_height));
|
||||||
if(did_create_accumulation_texture) {
|
if(did_create_accumulation_texture) {
|
||||||
|
Loading…
Reference in New Issue
Block a user