X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mixer.cpp;h=f28ea378f8f48410ad890f24df1c144da07a6162;hb=ab30e757e8a5f39acae77e833e168d732ae37073;hp=b6824d51ef3911034ac700d1a4a2295e3d57fa1b;hpb=196392c483a9cbf7fd7b572d9242aa283031453f;p=nageru diff --git a/mixer.cpp b/mixer.cpp index b6824d5..f28ea37 100644 --- a/mixer.cpp +++ b/mixer.cpp @@ -159,7 +159,8 @@ Mixer::Mixer(const QSurfaceFormat &format, unsigned num_cards) "void main() { \n" " gl_FragColor = texture2D(cbcr_tex, tc0); \n" "} \n"; - cbcr_program_num = resource_pool->compile_glsl_program(cbcr_vert_shader, cbcr_frag_shader); + vector frag_shader_outputs; + cbcr_program_num = resource_pool->compile_glsl_program(cbcr_vert_shader, cbcr_frag_shader, frag_shader_outputs); r128.init(2, OUTPUT_FREQUENCY); r128.integr_start(); @@ -387,10 +388,8 @@ void Mixer::bm_frame(unsigned card_index, uint16_t timecode, check_error(); glBindBuffer(GL_PIXEL_UNPACK_BUFFER_ARB, pbo); check_error(); - glFlushMappedBufferRange(GL_PIXEL_UNPACK_BUFFER, 0, video_frame.size); + glMemoryBarrier(GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT); check_error(); - //glMemoryBarrier(GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT); - //check_error(); glBindTexture(GL_TEXTURE_2D, userdata->tex_cbcr[field]); check_error();