#define LP_NEW_SAMPLER_VIEW 0x800
#define LP_NEW_VERTEX 0x1000
#define LP_NEW_VS 0x2000
-#define LP_NEW_QUERY 0x4000
+#define LP_NEW_OCCLUSION_QUERY 0x4000
#define LP_NEW_BLEND_COLOR 0x8000
+#define LP_NEW_GS 0x10000
+#define LP_NEW_SO 0x20000
+#define LP_NEW_SO_BUFFERS 0x40000
+
struct vertex_info;
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;
+};
/** Vertex element state */
struct lp_velems_state
struct pipe_vertex_element velem[PIPE_MAX_ATTRIBS];
};
+struct lp_so_state {
+ struct pipe_stream_output_info base;
+};
+
void
llvmpipe_set_framebuffer_state(struct pipe_context *,
void
llvmpipe_update_fs(struct llvmpipe_context *lp);
+void
+llvmpipe_update_setup(struct llvmpipe_context *lp);
+
void
llvmpipe_update_derived(struct llvmpipe_context *llvmpipe);
void
llvmpipe_init_vs_funcs(struct llvmpipe_context *llvmpipe);
+void
+llvmpipe_init_gs_funcs(struct llvmpipe_context *llvmpipe);
+
void
llvmpipe_init_rasterizer_funcs(struct llvmpipe_context *llvmpipe);
+void
+llvmpipe_init_so_funcs(struct llvmpipe_context *llvmpipe);
+
+void
+llvmpipe_prepare_vertex_sampling(struct llvmpipe_context *ctx,
+ unsigned num,
+ struct pipe_sampler_view **views);
+void
+llvmpipe_cleanup_vertex_sampling(struct llvmpipe_context *ctx);
+
#endif