Lines Matching defs:scene
66 * Begin rasterizing a scene.
67 * Called once per scene by one thread.
71 struct lp_scene *scene)
73 rast->curr_scene = scene;
77 lp_scene_begin_rasterization(scene);
78 lp_scene_bin_iter_begin(scene);
99 struct lp_scene *scene = task->scene;
106 task->width = TILE_SIZE + x * TILE_SIZE > scene->fb.width ?
107 scene->fb.width - x * TILE_SIZE : TILE_SIZE;
108 task->height = TILE_SIZE + y * TILE_SIZE > scene->fb.height ?
109 scene->fb.height - y * TILE_SIZE : TILE_SIZE;
114 for (unsigned i = 0; i < scene->fb.nr_cbufs; i++) {
115 if (scene->fb.cbufs[i]) {
116 task->color_tiles[i] = scene->cbufs[i].map +
117 scene->cbufs[i].stride * task->y +
118 scene->cbufs[i].format_bytes * task->x;
121 if (scene->fb.zsbuf) {
122 task->depth_tile = scene->zsbuf.map +
123 scene->zsbuf.stride * task->y +
124 scene->zsbuf.format_bytes * task->x;
138 const struct lp_scene *scene = task->scene;
142 assert(cbuf < scene->fb.nr_cbufs);
143 assert(scene->fb.cbufs[cbuf]);
145 const enum pipe_format format = scene->fb.cbufs[cbuf]->format;
156 for (unsigned s = 0; s < scene->cbufs[cbuf].nr_samples; s++) {
157 void *map = (char *) scene->cbufs[cbuf].map
158 + scene->cbufs[cbuf].sample_stride * s;
161 scene->cbufs[cbuf].stride,
162 scene->cbufs[cbuf].layer_stride,
168 scene->fb_max_layer + 1,
186 const struct lp_scene *scene = task->scene;
193 const unsigned dst_stride = scene->zsbuf.stride;
202 if (scene->fb.zsbuf) {
203 for (unsigned s = 0; s < scene->zsbuf.nr_samples; s++) {
205 task->depth_tile + (s * scene->zsbuf.sample_stride);
207 util_format_get_blocksize(scene->fb.zsbuf->format);
211 for (unsigned layer = 0; layer <= scene->fb_max_layer; layer++) {
285 dst_layer += scene->zsbuf.layer_stride;
301 const struct lp_scene *scene = task->scene;
327 for (unsigned i = 0; i < scene->fb.nr_cbufs; i++){
328 if (scene->fb.cbufs[i]) {
329 stride[i] = scene->cbufs[i].stride;
330 sample_stride[i] = scene->cbufs[i].sample_stride;
346 if (scene->zsbuf.map) {
350 depth_stride = scene->zsbuf.stride;
351 depth_sample_stride = scene->zsbuf.sample_stride;
355 for (unsigned i = 0; i < scene->fb_max_samples; i++)
418 const struct lp_scene *scene = task->scene;
423 assert(x < scene->tiles_x * TILE_SIZE);
424 assert(y < scene->tiles_y * TILE_SIZE);
435 for (unsigned i = 0; i < scene->fb.nr_cbufs; i++) {
436 if (scene->fb.cbufs[i]) {
437 stride[i] = scene->cbufs[i].stride;
438 sample_stride[i] = scene->cbufs[i].sample_stride;
453 if (scene->zsbuf.map) {
454 depth_stride = scene->zsbuf.stride;
455 depth_sample_stride = scene->zsbuf.sample_stride;
498 for (unsigned i = 0; i < task->scene->fb_max_samples; i++)
512 const struct lp_scene *scene = task->scene;
517 struct pipe_surface *cbuf = scene->fb.cbufs[0];
698 for (unsigned i = 0; i < task->scene->num_active_queries; ++i) {
700 lp_rast_arg_query(task->scene->active_queries[i]));
998 } else if (task->scene->permit_linear_rasterizer &&
1038 * Rasterize/execute all bins within a scene.
1043 struct lp_scene *scene)
1045 task->scene = scene;
1059 /* loop over scene bins, rasterize each */
1064 assert(scene);
1065 while ((bin = lp_scene_bin_iter_next(scene, &i, &j))) {
1087 if (scene->fence) {
1088 lp_fence_signal(scene->fence);
1091 task->scene = NULL;
1100 struct lp_scene *scene)
1104 lp_fence_reference(&rast->last_fence, scene->fence);
1117 lp_rast_begin(rast, scene);
1119 rasterize_scene(&rast->tasks[0], scene);
1131 lp_scene_enqueue(rast->full_scenes, scene);
1195 * - get next scene to rasterize
1212 /* wait for all threads to finish with this scene */