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, GLint x, GLint y, GLsizei w, GLsizei h); 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, GLenum mode ); 25 void radeonReadBuffer( struct gl_context *ctx, GLenum mode ); 26 void radeon_viewport(struct gl_context *ctx, GLint x, GLint y, GLsizei width, GLsizei height); 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(gl_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 void radeon_check_front_buffer_rendering(struct gl_context *ctx); 41 static inline struct radeon_renderbuffer *radeon_renderbuffer(struct gl_renderbuffer *rb) 42 { 43 struct radeon_renderbuffer *rrb = (struct radeon_renderbuffer *)rb; 44 radeon_print(RADEON_MEMORY, RADEON_TRACE, 45 "%s(rb %p)\n", 46 __func__, (void *) rb); 47 if (rrb && rrb->base.Base.ClassID == RADEON_RB_CLASS) 48 return rrb; 49 else 50 return NULL; 51 } 52 53 static inline struct radeon_renderbuffer *radeon_get_renderbuffer(struct gl_framebuffer *fb, int att_index) 54 { 55 radeon_print(RADEON_MEMORY, RADEON_TRACE, 56 "%s(fb %p, index %d)\n", 57 __func__, (void *) fb, att_index); 58 59 if (att_index >= 0) 60 return radeon_renderbuffer(fb->Attachment[att_index].Renderbuffer); 61 else 62 return NULL; 63 } 64 65 static inline struct radeon_renderbuffer *radeon_get_depthbuffer(radeonContextPtr rmesa) 66 { 67 struct radeon_renderbuffer *rrb; 68 rrb = radeon_renderbuffer(rmesa->state.depth.rb); 69 if (!rrb) 70 return NULL; 71 72 return rrb; 73 } 74 75 static inline struct radeon_renderbuffer *radeon_get_colorbuffer(radeonContextPtr rmesa) 76 { 77 struct radeon_renderbuffer *rrb; 78 79 rrb = radeon_renderbuffer(rmesa->state.color.rb); 80 if (!rrb) 81 return NULL; 82 return rrb; 83 } 84 85 #include "radeon_cmdbuf.h" 86 87 88 #endif 89