nv50,nvc0: implement blit
[mesa.git] / src / gallium / drivers / svga / svga_pipe_fs.c
index 1eb28617b6a3be0968e1a57a609ac809e2224639..9aac546581eb7745242995943fc2125554a96304 100644 (file)
@@ -28,6 +28,7 @@
 #include "util/u_memory.h"
 #include "util/u_bitmask.h"
 #include "tgsi/tgsi_parse.h"
+#include "draw/draw_context.h"
 
 #include "svga_context.h"
 #include "svga_tgsi.h"
@@ -63,6 +64,8 @@ svga_create_fs_state(struct pipe_context *pipe,
 
    svga_remap_generics(fs->generic_inputs, fs->generic_remap_table);
 
+   fs->draw_shader = draw_create_fragment_shader(svga->swtnl.draw, templ);
+
    if (SVGA_DEBUG & DEBUG_TGSI || 0) {
       debug_printf("%s id: %u, inputs: %u, outputs: %u\n",
                    __FUNCTION__, fs->base.id,
@@ -92,6 +95,8 @@ void svga_delete_fs_state(struct pipe_context *pipe, void *shader)
 
    svga_hwtnl_flush_retry( svga );
 
+   draw_delete_fragment_shader(svga->swtnl.draw, fs->draw_shader);
+
    for (result = fs->base.results; result; result = tmp ) {
       tmp = result->next;