| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #ifndef XORG_RENDERER_H
- #define XORG_RENDERER_H
-
- #include "pipe/p_context.h"
- #include "pipe/p_state.h"
-
- struct xorg_shaders;
- struct exa_pixmap_priv;
-
- struct xorg_renderer {
- struct pipe_context *pipe;
-
- struct cso_context *cso;
- struct xorg_shaders *shaders;
-
- struct pipe_constant_buffer vs_const_buffer;
- struct pipe_constant_buffer fs_const_buffer;
-
- /* we should combine these two */
- float vertices2[4][2][4];
- float vertices3[4][3][4];
- };
-
- struct xorg_renderer *renderer_create(struct pipe_context *pipe);
- void renderer_destroy(struct xorg_renderer *renderer);
-
- void renderer_bind_framebuffer(struct xorg_renderer *r,
- struct exa_pixmap_priv *priv);
- void renderer_bind_viewport(struct xorg_renderer *r,
- struct exa_pixmap_priv *dst);
- void renderer_bind_rasterizer(struct xorg_renderer *r);
- void renderer_set_constants(struct xorg_renderer *r,
- int shader_type,
- const float *buffer,
- int size);
- void renderer_copy_pixmap(struct xorg_renderer *r,
- struct exa_pixmap_priv *dst_priv, int dx, int dy,
- struct exa_pixmap_priv *src_priv, int sx, int sy,
- int width, int height);
-
- void renderer_draw_solid_rect(struct xorg_renderer *r,
- int x0, int y0,
- int x1, int y1,
- float *color);
-
- void renderer_draw_textures(struct xorg_renderer *r,
- int *pos,
- int width, int height,
- struct pipe_texture **textures,
- int num_textures);
-
-
- #endif
|