st/g3dvl: pass color values to softpipe clear function
authorCooper Yuan <cooperyuan@gmail.com>
Tue, 15 Sep 2009 07:25:47 +0000 (15:25 +0800)
committerCooper Yuan <cooperyuan@gmail.com>
Tue, 15 Sep 2009 07:25:47 +0000 (15:25 +0800)
src/gallium/state_trackers/g3dvl/vl_basic_csc.c
src/gallium/winsys/g3dvl/xsp_winsys.c

index 7c8e545824fb8c4a7f6aea2a3a2af0a61c68b500..b1683b891be8a22cc2bdcd4960f3cfc292371ea1 100644 (file)
@@ -51,6 +51,7 @@ static int vlResizeFrameBuffer
        struct vlBasicCSC       *basic_csc;
        struct pipe_context     *pipe;
        struct pipe_texture     template;
+       float                   clear_color[4];
 
        assert(csc);
 
@@ -68,7 +69,12 @@ static int vlResizeFrameBuffer
        basic_csc->viewport.translate[1] = 0;
        basic_csc->viewport.translate[2] = 0;
        basic_csc->viewport.translate[3] = 0;
-       
+
+       clear_color[0]  = 0.0f;
+       clear_color[1]  = 0.0f;
+       clear_color[2]  = 0.0f;
+       clear_color[3]  = 0.0f;
+
        if (basic_csc->framebuffer_tex)
        {
                pipe_surface_reference(&basic_csc->framebuffer.cbufs[0], NULL);
@@ -98,7 +104,7 @@ static int vlResizeFrameBuffer
 
        /* Clear to black, in case video doesn't fill the entire window */
        pipe->set_framebuffer_state(pipe, &basic_csc->framebuffer);
-       pipe->clear(pipe, PIPE_CLEAR_COLOR, 0, 0.0f, 0);
+       pipe->clear(pipe, PIPE_CLEAR_COLOR, clear_color, 0.0f, 0);
 
        return 0;
 }
index 698c2856a4fbc105fcd7dda09255f7447fa0c041..37d60ce5406224280606dcafe0235202cbe8aa50 100644 (file)
@@ -105,6 +105,7 @@ static struct pipe_buffer* xsp_surface_buffer_create
        unsigned height,
        enum pipe_format format,
        unsigned usage,
+       unsigned tex_usage,
        unsigned *stride
 )
 {