~mmach/netext73/mesa-haswell

« back to all changes in this revision

Viewing changes to src/gallium/drivers/nouveau/nv30/nv30_resource.h

  • Committer: mmach
  • Date: 2022-09-22 19:56:13 UTC
  • Revision ID: netbit73@gmail.com-20220922195613-wtik9mmy20tmor0i
2022-09-22 21:17:09

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef __NV30_RESOURCE_H__
2
 
#define __NV30_RESOURCE_H__
3
 
 
4
 
#include "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
 
   bool 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
 
bool
62
 
nv30_miptree_get_handle(struct pipe_screen *pscreen,
63
 
                        struct pipe_context *context,
64
 
                        struct pipe_resource *pt,
65
 
                        struct winsys_handle *handle,
66
 
                        unsigned usage);
67
 
 
68
 
void
69
 
nv30_miptree_destroy(struct pipe_screen *pscreen, struct pipe_resource *pt);
70
 
 
71
 
void
72
 
nv30_resource_copy_region(struct pipe_context *pipe,
73
 
                          struct pipe_resource *dst, unsigned dst_level,
74
 
                          unsigned dstx, unsigned dsty, unsigned dstz,
75
 
                          struct pipe_resource *src, unsigned src_level,
76
 
                          const struct pipe_box *src_box);
77
 
 
78
 
void
79
 
nv30_blit(struct pipe_context *pipe,
80
 
          const struct pipe_blit_info *blit_info);
81
 
 
82
 
void
83
 
nv30_flush_resource(struct pipe_context *pipe,
84
 
                    struct pipe_resource *resource);
85
 
 
86
 
void *
87
 
nv30_miptree_transfer_map(struct pipe_context *pipe, struct pipe_resource *pt,
88
 
                          unsigned level, unsigned usage,
89
 
                          const struct pipe_box *box,
90
 
                          struct pipe_transfer **ptransfer);
91
 
 
92
 
void
93
 
nv30_miptree_transfer_unmap(struct pipe_context *pipe,
94
 
                            struct pipe_transfer *ptx);
95
 
 
96
 
#endif