Lines Matching defs:scene
68 assert(setup->scene == NULL);
73 setup->scene = setup->scenes[setup->scene_idx];
75 if (setup->scene->fence) {
77 debug_printf("%s: wait for scene %d\n",
78 __FUNCTION__, setup->scene->fence->id);
80 lp_fence_wait(setup->scene->fence);
83 lp_scene_begin_binning(setup->scene, &setup->fb);
129 setup->scene = NULL;
144 /** Rasterize all scene's bins */
148 struct lp_scene *scene = setup->scene;
149 struct llvmpipe_screen *screen = llvmpipe_screen(scene->pipe->screen);
151 lp_scene_end_binning(scene);
153 lp_fence_reference(&setup->last_fence, scene->fence);
159 lp_rast_queue_scene(screen->rast, scene);
163 lp_scene_end_rasterization(setup->scene);
174 struct lp_scene *scene = setup->scene;
179 assert(scene);
180 assert(scene->fence == NULL);
184 scene->fence = lp_fence_create(MAX2(1, setup->num_threads));
185 if (!scene->fence)
190 for (i = 0; i < scene->tiles_x; i++) {
191 for (j = 0; j < scene->tiles_y; j++) {
192 scene->tile[i][j].x = i;
193 scene->tile[i][j].y = j;
212 ok = lp_scene_bin_everywhere( scene,
223 scene->has_depthstencil_clear = TRUE;
225 ok = lp_scene_bin_everywhere( scene,
236 ok = lp_scene_bin_everywhere( scene,
290 if (new_state == SETUP_FLUSHED && setup->scene)
291 lp_debug_draw_bins_by_cmd_length(setup->scene);
294 /* wait for a free/empty scene
314 assert(setup->scene == NULL);
326 if (setup->scene) {
327 lp_scene_end_rasterization(setup->scene);
328 setup->scene = NULL;
356 /* Flush any old scene.
361 * Ensure the old scene is not reused.
363 assert(!setup->scene);
366 * scene.
413 struct lp_scene *scene = setup->scene;
415 /* Add the clear to existing scene. In the unusual case where
418 * binned scene and start again, but I don't see that as being
422 if (!lp_scene_bin_everywhere( scene,
429 if (!lp_scene_bin_everywhere( scene,
742 * Is the given texture referenced by any scene?
744 * being rendered and the current scene being built.
761 /* check textures referenced by the scene */
779 struct lp_scene *scene = setup->scene;
781 assert(scene);
787 stored = lp_scene_alloc_aligned(scene, 4 * 16, 16);
821 stored = lp_scene_alloc(scene, current_size);
853 /* The fs state that's been stored in the scene is different from
857 stored = (struct lp_rast_state *) lp_scene_alloc(scene, sizeof *stored);
868 /* The scene now references the textures in the rasterization
873 if (!lp_scene_add_resource_reference(scene,
941 * scene:
943 if (update_scene && setup->scene) {
949 /* Update failed, try to restart the scene.
960 if (!setup->scene)
990 struct lp_scene *scene = setup->scenes[i];
992 if (scene->fence)
993 lp_fence_wait(scene->fence);
995 lp_scene_destroy(scene);
1083 if (setup->scene) {
1084 if (!lp_scene_bin_everywhere(setup->scene,
1091 if (!lp_scene_bin_everywhere(setup->scene,
1115 * scene boundary, and the rasterizer automatically "ends" queries
1116 * which are active at the end of a scene, so there is no need to
1119 if (setup->scene) {
1120 /* pq->fence should be the fence of the *last* scene which
1123 lp_fence_reference(&pq->fence, setup->scene->fence);
1125 if (!lp_scene_bin_everywhere(setup->scene,