#define LP_NEW_STIPPLE 0x40
#define LP_NEW_FRAMEBUFFER 0x80
#define LP_NEW_DEPTH_STENCIL_ALPHA 0x100
-#define LP_NEW_CONSTANTS 0x200
+#define LP_NEW_FS_CONSTANTS 0x200
#define LP_NEW_SAMPLER 0x400
#define LP_NEW_SAMPLER_VIEW 0x800
#define LP_NEW_VERTEX 0x1000
#define LP_NEW_GS 0x10000
#define LP_NEW_SO 0x20000
#define LP_NEW_SO_BUFFERS 0x40000
+#define LP_NEW_FS_SSBOS 0x80000
+#define LP_NEW_FS_IMAGES 0x100000
-
+#define LP_CSNEW_CS 0x1
+#define LP_CSNEW_CONSTANTS 0x2
struct vertex_info;
struct pipe_context;
-/** Subclass of pipe_shader_state */
-struct lp_vertex_shader
-{
- struct pipe_shader_state shader;
- struct draw_vertex_shader *draw_data;
-};
-
-/** Subclass of pipe_shader_state */
struct lp_geometry_shader {
- struct pipe_shader_state shader;
- struct draw_geometry_shader *draw_data;
+ boolean no_tokens;
+ struct pipe_stream_output_info stream_output;
+ struct draw_geometry_shader *dgs;
};
/** Vertex element state */
void
llvmpipe_init_draw_funcs(struct llvmpipe_context *llvmpipe);
+void
+llvmpipe_init_compute_funcs(struct llvmpipe_context *llvmpipe);
+
void
llvmpipe_init_clip_funcs(struct llvmpipe_context *llvmpipe);
llvmpipe_prepare_vertex_sampling(struct llvmpipe_context *ctx,
unsigned num,
struct pipe_sampler_view **views);
-void
-llvmpipe_cleanup_vertex_sampling(struct llvmpipe_context *ctx);
-
void
llvmpipe_prepare_geometry_sampling(struct llvmpipe_context *ctx,
unsigned num,
struct pipe_sampler_view **views);
-void
-llvmpipe_cleanup_geometry_sampling(struct llvmpipe_context *ctx);
+void
+llvmpipe_prepare_vertex_images(struct llvmpipe_context *lp,
+ unsigned num,
+ struct pipe_image_view *views);
+void
+llvmpipe_prepare_geometry_images(struct llvmpipe_context *lp,
+ unsigned num,
+ struct pipe_image_view *views);
#endif