static void lp_setup_get_empty_scene(struct lp_setup_context *setup) { assert(setup->scene == NULL); setup->scene_idx++; setup->scene_idx %= ARRAY_SIZE(setup->scenes); setup->scene = setup->scenes[setup->scene_idx]; if (setup->scene->fence) { if (LP_DEBUG & DEBUG_SETUP) debug_printf("%s: wait for scene %d\n", __FUNCTION__, setup->scene->fence->id); lp_fence_wait(setup->scene->fence); } lp_scene_begin_binning(setup->scene, &setup->fb, setup->rasterizer_discard); }
static void lp_setup_get_empty_scene(struct lp_setup_context *setup) { struct llvmpipe_context *lp = llvmpipe_context(setup->pipe); boolean discard = lp->rasterizer ? lp->rasterizer->rasterizer_discard : FALSE; assert(setup->scene == NULL); setup->scene_idx++; setup->scene_idx %= Elements(setup->scenes); setup->scene = setup->scenes[setup->scene_idx]; if (setup->scene->fence) { if (LP_DEBUG & DEBUG_SETUP) debug_printf("%s: wait for scene %d\n", __FUNCTION__, setup->scene->fence->id); lp_fence_wait(setup->scene->fence); } lp_scene_begin_binning(setup->scene, &setup->fb, discard); }