Lines Matching defs:scene
66 /* The maximum amount of texture storage referenced by a scene is
106 * within a scene.
112 * initiate a scene without relying on malloc succeeding.
145 /* The queries still active at end of scene */
165 /** the framebuffer to render the scene into */
168 /** list of resources referenced by the scene commands */
171 /** list of writable resources referenced by the scene commands */
174 /** list of frag shaders referenced by the scene commands */
177 /** Total memory used by the scene (in bytes). This sums all the
179 * other random allocations within the scene.
183 /** Sum of sizes of all resources referenced by the scene. Sums
184 * all the textures read by the scene:
209 void lp_scene_destroy(struct lp_scene *scene);
211 boolean lp_scene_is_empty(struct lp_scene *scene);
212 boolean lp_scene_is_oom(struct lp_scene *scene);
215 struct data_block *lp_scene_new_data_block(struct lp_scene *scene);
217 struct cmd_block *lp_scene_new_cmd_block(struct lp_scene *scene,
220 boolean lp_scene_add_resource_reference(struct lp_scene *scene,
225 unsigned lp_scene_is_resource_referenced(const struct lp_scene *scene,
228 boolean lp_scene_add_frag_shader_reference(struct lp_scene *scene,
238 lp_scene_alloc(struct lp_scene *scene, unsigned size)
240 struct data_block_list *list = &scene->data;
249 scene->scene_size, LP_SCENE_MAX_SIZE);
252 block = lp_scene_new_data_block(scene);
271 lp_scene_alloc_aligned(struct lp_scene *scene, unsigned size,
274 struct data_block_list *list = &scene->data;
283 scene->scene_size, LP_SCENE_MAX_SIZE);
286 block = lp_scene_new_data_block(scene);
302 lp_scene_get_bin(struct lp_scene *scene, unsigned x, unsigned y)
304 unsigned idx = scene->tiles_x * y + x;
305 return &scene->tiles[idx];
311 lp_scene_bin_reset(struct lp_scene *scene, unsigned x, unsigned y);
317 lp_scene_bin_command(struct lp_scene *scene,
322 struct cmd_bin *bin = lp_scene_get_bin(scene, x, y);
325 assert(x < scene->tiles_x);
326 assert(y < scene->tiles_y);
330 tail = lp_scene_new_cmd_block(scene, bin);
349 lp_scene_bin_cmd_with_state(struct lp_scene *scene,
355 struct cmd_bin *bin = lp_scene_get_bin(scene, x, y);
359 if (!lp_scene_bin_command(scene, x, y,
365 if (!lp_scene_bin_command(scene, x, y, cmd, arg))
375 lp_scene_bin_everywhere(struct lp_scene *scene,
379 for (unsigned i = 0; i < scene->tiles_x; i++) {
380 for (unsigned j = 0; j < scene->tiles_y; j++) {
381 if (!lp_scene_bin_command(scene, i, j, cmd, arg))
391 lp_scene_get_num_bins(const struct lp_scene *scene)
393 return scene->tiles_x * scene->tiles_y;
398 lp_scene_bin_iter_begin(struct lp_scene *scene);
401 lp_scene_bin_iter_next(struct lp_scene *scene, int *x, int *y);
405 /* Begin/end binning of a scene
408 lp_scene_begin_binning(struct lp_scene *scene,
412 lp_scene_end_binning(struct lp_scene *scene);
415 /* Begin/end rasterization of a scene
418 lp_scene_begin_rasterization(struct lp_scene *scene);
421 lp_scene_end_rasterization(struct lp_scene *scene);