1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-06 01:28:57 +00:00

Fixed bug whereby first frame drawn has random collection of data.

This commit is contained in:
Thomas Harte 2016-04-24 07:00:22 -04:00
parent 80a3169674
commit 775fc270e6

View File

@ -78,13 +78,15 @@ OpenGLOutputBuilder::OpenGLOutputBuilder(unsigned int buffer_depth) :
_output_mutex(new std::mutex),
_visible_area(Rect(0, 0, 1, 1)),
_composite_src_output_y(0),
_cleared_composite_output_y(0),
_composite_shader(nullptr),
_rgb_shader(nullptr),
_output_buffer_data(nullptr),
_source_buffer_data(nullptr),
_input_texture_data(nullptr),
_output_buffer_data_pointer(0),
_source_buffer_data_pointer(0)
_source_buffer_data_pointer(0),
_drawn_source_buffer_data_pointer(0)
{
_run_builders = new CRTRunBuilder *[NumberOfFields];
for(int builder = 0; builder < NumberOfFields; builder++)
@ -229,7 +231,7 @@ void OpenGLOutputBuilder::draw_frame(unsigned int output_width, unsigned int out
}
// for television, update intermediate buffers and then draw; for a monitor, just draw
if(_output_device == Television)
if(_output_device == Television || !rgb_shader_program)
{
// decide how much to draw
if(_drawn_source_buffer_data_pointer != _source_buffer_data_pointer)