Subversion Repositories Kolibri OS

Rev

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

  1. #ifndef __NV30_RESOURCE_H__
  2. #define __NV30_RESOURCE_H__
  3.  
  4. #include "nouveau/nouveau_buffer.h"
  5.  
  6. void nv30_resource_screen_init(struct pipe_screen *);
  7. void nv30_resource_init(struct pipe_context *);
  8.  
  9. struct nv30_surface {
  10.    struct pipe_surface base;
  11.    uint32_t offset;
  12.    uint32_t pitch;
  13.    uint32_t width;
  14.    uint16_t height;
  15.    uint16_t depth;
  16. };
  17.  
  18. static INLINE struct nv30_surface *
  19. nv30_surface(struct pipe_surface *ps)
  20. {
  21.    return (struct nv30_surface *)ps;
  22. }
  23.  
  24. struct nv30_miptree_level {
  25.    uint32_t offset;
  26.    uint32_t pitch;
  27.    uint32_t zslice_size;
  28. };
  29.  
  30. struct nv30_miptree {
  31.    struct nv04_resource base;
  32.    struct nv30_miptree_level level[13];
  33.    uint32_t uniform_pitch;
  34.    uint32_t layer_size;
  35.    boolean swizzled;
  36.    unsigned ms_mode;
  37.    unsigned ms_x:1;
  38.    unsigned ms_y:1;
  39. };
  40.  
  41. static INLINE struct nv30_miptree *
  42. nv30_miptree(struct pipe_resource *pt)
  43. {
  44.    return (struct nv30_miptree *)pt;
  45. }
  46.  
  47. struct pipe_resource *
  48. nv30_miptree_create(struct pipe_screen *, const struct pipe_resource *);
  49.  
  50. struct pipe_resource *
  51. nv30_miptree_from_handle(struct pipe_screen *, const struct pipe_resource *,
  52.                          struct winsys_handle *);
  53.  
  54. struct pipe_surface *
  55. nv30_miptree_surface_new(struct pipe_context *, struct pipe_resource *,
  56.                          const struct pipe_surface *);
  57.  
  58. void
  59. nv30_miptree_surface_del(struct pipe_context *, struct pipe_surface *);
  60.  
  61. void
  62. nv30_resource_copy_region(struct pipe_context *pipe,
  63.                           struct pipe_resource *dst, unsigned dst_level,
  64.                           unsigned dstx, unsigned dsty, unsigned dstz,
  65.                           struct pipe_resource *src, unsigned src_level,
  66.                           const struct pipe_box *src_box);
  67.  
  68. void
  69. nv30_resource_resolve(struct pipe_context *, const struct pipe_resolve_info *);
  70.  
  71. void
  72. nv30_blit(struct pipe_context *pipe,
  73.           const struct pipe_blit_info *blit_info);
  74.  
  75. #endif
  76.