gallium: add PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT
[mesa.git] / src / gallium / drivers / llvmpipe / lp_context.c
index 644201ddf7c1580e9aac6d3f22ec466474de95d1..8c0206b9d9c67e39880b191c841a9649b080df41 100644 (file)
@@ -136,13 +136,23 @@ static void llvmpipe_destroy( struct pipe_context *pipe )
 
 static void
 do_flush( struct pipe_context *pipe,
-          unsigned flags,
           struct pipe_fence_handle **fence)
 {
-   llvmpipe_flush(pipe, flags, fence, __FUNCTION__);
+   llvmpipe_flush(pipe, fence, __FUNCTION__);
 }
 
 
+static void
+llvmpipe_render_condition ( struct pipe_context *pipe,
+                            struct pipe_query *query,
+                            uint mode )
+{
+   struct llvmpipe_context *llvmpipe = llvmpipe_context( pipe );
+
+   llvmpipe->render_cond_query = query;
+   llvmpipe->render_cond_mode = mode;
+}
+
 struct pipe_context *
 llvmpipe_create_context( struct pipe_screen *screen, void *priv )
 {
@@ -161,7 +171,6 @@ llvmpipe_create_context( struct pipe_screen *screen, void *priv )
    make_empty_list(&llvmpipe->setup_variants_list);
 
 
-   llvmpipe->pipe.winsys = screen->winsys;
    llvmpipe->pipe.screen = screen;
    llvmpipe->pipe.priv = priv;
 
@@ -171,6 +180,8 @@ llvmpipe_create_context( struct pipe_screen *screen, void *priv )
    llvmpipe->pipe.clear = llvmpipe_clear;
    llvmpipe->pipe.flush = do_flush;
 
+   llvmpipe->pipe.render_condition = llvmpipe_render_condition;
+
    llvmpipe_init_blend_funcs(llvmpipe);
    llvmpipe_init_clip_funcs(llvmpipe);
    llvmpipe_init_draw_funcs(llvmpipe);
@@ -217,11 +228,6 @@ llvmpipe_create_context( struct pipe_screen *screen, void *priv )
    draw_wide_point_threshold(llvmpipe->draw, 10000.0);
    draw_wide_line_threshold(llvmpipe->draw, 10000.0);
 
-#if USE_DRAW_STAGE_PSTIPPLE
-   /* Do polygon stipple w/ texture map + frag prog? */
-   draw_install_pstipple_stage(llvmpipe->draw, &llvmpipe->pipe);
-#endif
-
    lp_reset_counters();
 
    gallivm_register_garbage_collector_callback(garbage_collect_callback,