mirror of
https://github.com/TomHarte/CLK.git
synced 2024-12-26 09:29:45 +00:00
Demonstrated that issue is coloured borders, made a guess as to buffer exhaustion, upped limits as a temporary fix.
This commit is contained in:
parent
7f10616be9
commit
ff53accca0
@ -163,6 +163,7 @@ void MOS6560::output_border(unsigned int number_of_cycles)
|
||||
uint8_t *colour_pointer = _crt->allocate_write_area(1);
|
||||
if(colour_pointer) *colour_pointer = _registers.borderColour;
|
||||
_crt->output_level(number_of_cycles);
|
||||
// _crt->output_blank(number_of_cycles);
|
||||
}
|
||||
|
||||
uint16_t MOS6560::get_address()
|
||||
|
@ -41,7 +41,10 @@ const GLsizei IntermediateBufferHeight = 1024;
|
||||
|
||||
// Some internal buffer sizes
|
||||
const GLsizeiptr OutputVertexBufferDataSize = OutputVertexSize * IntermediateBufferHeight; // i.e. the maximum number of scans of output that can be created between draws
|
||||
const GLsizeiptr SourceVertexBufferDataSize = SourceVertexSize * IntermediateBufferHeight * 2; // (the maximum number of scans) * conservative, high guess at a maximumum number of events likely to occur within a scan
|
||||
const GLsizeiptr SourceVertexBufferDataSize = SourceVertexSize * IntermediateBufferHeight * 10; // (the maximum number of scans) * conservative, high guess at a maximumum number of events likely to occur within a scan
|
||||
|
||||
// TODO: when SourceVertexBufferDataSize is exhausted, the CRT keeps filling OutputVertexBufferDataSize regardless,
|
||||
// leading to empty scanlines that nevertheless clear old contents.
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -334,8 +334,10 @@ void OpenGLOutputBuilder::draw_frame(unsigned int output_width, unsigned int out
|
||||
|
||||
glActiveTexture(pixel_accumulation_texture_unit);
|
||||
framebuffer->bind_texture();
|
||||
// compositeTexture->bind_texture();
|
||||
framebuffer->draw((float)output_width / (float)output_height);
|
||||
// glViewport(0, 0, (GLsizei)output_width / 4, (GLsizei)output_height / 4);
|
||||
// compositeTexture->bind_texture();
|
||||
// compositeTexture->draw((float)output_width / (float)output_height);
|
||||
|
||||
_fence = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
|
||||
_draw_mutex->unlock();
|
||||
|
Loading…
Reference in New Issue
Block a user