From: Steinar H. Gunderson Date: Sat, 18 Nov 2017 20:20:06 +0000 (+0100) Subject: Fix compute shader outputs on NVIDIA. X-Git-Tag: 1.6.0~57 X-Git-Url: https://git.sesse.net/?p=movit;a=commitdiff_plain;h=c220f1f515ce115e049dfff990b08b2592bd8f8d Fix compute shader outputs on NVIDIA. --- diff --git a/effect_chain.cpp b/effect_chain.cpp index 0e20ce0..fe07a3f 100644 --- a/effect_chain.cpp +++ b/effect_chain.cpp @@ -1993,6 +1993,16 @@ void EffectChain::execute_phase(Phase *phase, bool last_phase, GLuint tex_num = resource_pool->create_2d_texture(intermediate_format, phase->output_width, phase->output_height); output_textures->insert(make_pair(phase, tex_num)); + + // The output texture needs to have valid state to be written to by a compute shader. + if (phase->is_compute_shader) { + glActiveTexture(GL_TEXTURE0); + check_error(); + glBindTexture(GL_TEXTURE_2D, (*output_textures)[phase]); + check_error(); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + check_error(); + } } // Set up RTT inputs for this phase.