static inline void stage_output_texture(struct obs_core_video *video, int cur_texture, int prev_texture) { profile_start(stage_output_texture_name); gs_texture_t *texture; bool texture_ready; gs_stagesurf_t *copy = video->copy_surfaces[cur_texture]; if (video->gpu_conversion) { texture = video->convert_textures[prev_texture]; texture_ready = video->textures_converted[prev_texture]; } else { texture = video->output_textures[prev_texture]; texture_ready = video->textures_output[prev_texture]; } unmap_last_surface(video); if (!texture_ready) goto end; gs_stage_texture(copy, texture); video->textures_copied[cur_texture] = true; end: profile_end(stage_output_texture_name); }
static inline void stage_output_texture(struct obs_core_video *video, int cur_texture, int prev_texture) { texture_t texture; bool texture_ready; stagesurf_t copy = video->copy_surfaces[cur_texture]; if (video->gpu_conversion) { texture = video->convert_textures[prev_texture]; texture_ready = video->textures_converted[prev_texture]; } else { texture = video->output_textures[prev_texture]; texture_ready = video->output_textures[prev_texture]; } unmap_last_surface(video); if (!texture_ready) return; gs_stage_texture(copy, texture); video->textures_copied[cur_texture] = true; }