#include "lp_setup.h"
-DEBUG_GET_ONCE_BOOL_OPTION(lp_no_rast, "LP_NO_RAST", FALSE)
-
-
/** shared by all contexts */
unsigned llvmpipe_variant_count;
/* FIXME: devise alternative to draw_texture_samplers */
- if (debug_get_option_lp_no_rast())
- llvmpipe->no_rast = TRUE;
-
llvmpipe->setup = lp_setup_create( &llvmpipe->pipe,
llvmpipe->draw );
if (!llvmpipe->setup)
struct lp_scene *scene)
{
task->scene = scene;
- /* loop over scene bins, rasterize each */
+
+ if (!task->rast->no_rast) {
+ /* loop over scene bins, rasterize each */
#if 0
- {
- unsigned i, j;
- for (i = 0; i < scene->tiles_x; i++) {
- for (j = 0; j < scene->tiles_y; j++) {
- struct cmd_bin *bin = lp_scene_get_bin(scene, i, j);
- rasterize_bin(task, bin, i, j);
+ {
+ unsigned i, j;
+ for (i = 0; i < scene->tiles_x; i++) {
+ for (j = 0; j < scene->tiles_y; j++) {
+ struct cmd_bin *bin = lp_scene_get_bin(scene, i, j);
+ rasterize_bin(task, bin, i, j);
+ }
}
}
- }
#else
- {
- struct cmd_bin *bin;
+ {
+ struct cmd_bin *bin;
- assert(scene);
- while ((bin = lp_scene_bin_iter_next(scene))) {
- if (!is_empty_bin( bin ))
- rasterize_bin(task, bin);
+ assert(scene);
+ while ((bin = lp_scene_bin_iter_next(scene))) {
+ if (!is_empty_bin( bin ))
+ rasterize_bin(task, bin);
+ }
}
- }
#endif
+ }
+
if (scene->fence) {
lp_fence_signal(scene->fence);
rast->num_threads = num_threads;
+ rast->no_rast = debug_get_bool_option("LP_NO_RAST", FALSE);
+
create_rast_threads(rast);
/* for synchronizing rasterization threads */