tgsi: refactor tgsi_opcode_infer_dst_type()
[mesa.git] / src / gallium / auxiliary / vl / vl_idct.h
index f5a1e5d9b73b15f63f8f2e78b442613230a33d98..575a6206742287242634628170208790be7caa87 100644 (file)
@@ -28,9 +28,9 @@
 #ifndef vl_idct_h
 #define vl_idct_h
 
-#include <pipe/p_state.h>
+#include "pipe/p_state.h"
 
-#include <tgsi/tgsi_ureg.h>
+#include "tgsi/tgsi_ureg.h"
 
 /* shader based inverse distinct cosinus transformation
  * expect usage of vl_vertex_buffers as a todo list
@@ -48,6 +48,7 @@ struct vl_idct
 
    void *samplers[2];
 
+   void *vs_mismatch, *fs_mismatch;
    void *vs, *fs;
 
    struct pipe_sampler_view *matrix;
@@ -57,7 +58,10 @@ struct vl_idct
 /* a set of buffers to work with */
 struct vl_idct_buffer
 {
+   struct pipe_viewport_state viewport_mismatch;
    struct pipe_viewport_state viewport;
+
+   struct pipe_framebuffer_state fb_state_mismatch;
    struct pipe_framebuffer_state fb_state;
 
    union
@@ -65,8 +69,8 @@ struct vl_idct_buffer
       struct pipe_sampler_view *all[4];
       struct pipe_sampler_view *stage[2][2];
       struct {
-         struct pipe_sampler_view *matrix, *source;
-         struct pipe_sampler_view *transpose, *intermediate;
+         struct pipe_sampler_view *source, *matrix;
+         struct pipe_sampler_view *intermediate, *transpose;
       } individual;
    } sampler_views;
 };
@@ -99,12 +103,11 @@ vl_idct_cleanup(struct vl_idct *idct);
 bool
 vl_idct_init_buffer(struct vl_idct *idct, struct vl_idct_buffer *buffer,
                     struct pipe_sampler_view *source,
-                    struct pipe_sampler_view *intermediate,
-                    struct pipe_surface *destination);
+                    struct pipe_sampler_view *intermediate);
 
 /* cleanup a buffer of an idct instance */
 void
-vl_idct_cleanup_buffer(struct vl_idct *idct, struct vl_idct_buffer *buffer);
+vl_idct_cleanup_buffer(struct vl_idct_buffer *buffer);
 
 /* flush the buffer and start rendering, vertex buffers needs to be setup before calling this */
 void