Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  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.