i965: Move device info initialization to common code
[mesa.git] / src / mesa / drivers / dri / radeon / radeon_common.h
1 #ifndef COMMON_MISC_H
2 #define COMMON_MISC_H
3
4 #include "radeon_common_context.h"
5 #include "radeon_dma.h"
6 #include "radeon_texture.h"
7
8 void radeonUserClear(struct gl_context *ctx, GLuint mask);
9 void radeonSetCliprects(radeonContextPtr radeon);
10 void radeonUpdateScissor( struct gl_context *ctx );
11 void radeonScissor(struct gl_context *ctx);
12
13 extern uint32_t radeonGetAge(radeonContextPtr radeon);
14
15 void radeonFlush(struct gl_context *ctx);
16 void radeonFinish(struct gl_context * ctx);
17 void radeonEmitState(radeonContextPtr radeon);
18 GLuint radeonCountStateEmitSize(radeonContextPtr radeon);
19
20 void radeon_clear_tris(struct gl_context *ctx, GLbitfield mask);
21
22 void radeon_window_moved(radeonContextPtr radeon);
23 void radeon_draw_buffer(struct gl_context *ctx, struct gl_framebuffer *fb);
24 void radeonDrawBuffer(struct gl_context *ctx);
25 void radeonReadBuffer( struct gl_context *ctx, GLenum mode );
26 void radeon_viewport(struct gl_context *ctx);
27 void radeon_fbo_init(struct radeon_context *radeon);
28 void
29 radeon_renderbuffer_set_bo(struct radeon_renderbuffer *rb,
30 struct radeon_bo *bo);
31 struct radeon_renderbuffer *
32 radeon_create_renderbuffer(mesa_format format, __DRIdrawable *driDrawPriv);
33
34 void
35 radeonReadPixels(struct gl_context * ctx,
36 GLint x, GLint y, GLsizei width, GLsizei height,
37 GLenum format, GLenum type,
38 const struct gl_pixelstore_attrib *pack, GLvoid * pixels);
39
40 static inline struct radeon_renderbuffer *radeon_renderbuffer(struct gl_renderbuffer *rb)
41 {
42 struct radeon_renderbuffer *rrb = (struct radeon_renderbuffer *)rb;
43 radeon_print(RADEON_MEMORY, RADEON_TRACE,
44 "%s(rb %p)\n",
45 __func__, (void *) rb);
46 if (rrb && rrb->base.Base.ClassID == RADEON_RB_CLASS)
47 return rrb;
48 else
49 return NULL;
50 }
51
52 static inline struct radeon_renderbuffer *radeon_get_renderbuffer(struct gl_framebuffer *fb, int att_index)
53 {
54 radeon_print(RADEON_MEMORY, RADEON_TRACE,
55 "%s(fb %p, index %d)\n",
56 __func__, (void *) fb, att_index);
57
58 if (att_index >= 0)
59 return radeon_renderbuffer(fb->Attachment[att_index].Renderbuffer);
60 else
61 return NULL;
62 }
63
64 static inline struct radeon_renderbuffer *radeon_get_depthbuffer(radeonContextPtr rmesa)
65 {
66 struct radeon_renderbuffer *rrb;
67 rrb = radeon_renderbuffer(rmesa->state.depth.rb);
68 if (!rrb)
69 return NULL;
70
71 return rrb;
72 }
73
74 static inline struct radeon_renderbuffer *radeon_get_colorbuffer(radeonContextPtr rmesa)
75 {
76 struct radeon_renderbuffer *rrb;
77
78 rrb = radeon_renderbuffer(rmesa->state.color.rb);
79 if (!rrb)
80 return NULL;
81 return rrb;
82 }
83
84 #include "radeon_cmdbuf.h"
85
86
87 #endif