1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#ifndef __NOUVEAU_BUFFERS_H__
#define __NOUVEAU_BUFFERS_H__
#include <stdint.h>
#include "mtypes.h"
#include "utils.h"
#include "renderbuffer.h"
typedef struct nouveau_mem_t {
int type;
uint64_t offset;
uint64_t size;
void* map;
} nouveau_mem;
extern nouveau_mem *nouveau_mem_alloc(GLcontext *ctx, int type,
GLuint size, GLuint align);
extern void nouveau_mem_free(GLcontext *ctx, nouveau_mem *mem);
extern uint32_t nouveau_mem_gpu_offset_get(GLcontext *ctx, nouveau_mem *mem);
extern GLboolean nouveau_memformat_flat_emit(GLcontext *ctx,
nouveau_mem *dst,
nouveau_mem *src,
GLuint dst_offset,
GLuint src_offset,
GLuint size);
typedef struct nouveau_renderbuffer_t {
struct gl_renderbuffer mesa; /* must be first! */
__DRIdrawablePrivate *dPriv;
nouveau_mem *mem;
void * map;
int cpp;
uint32_t offset;
uint32_t pitch;
} nouveau_renderbuffer;
extern nouveau_renderbuffer *nouveau_renderbuffer_new(GLenum internalFormat,
GLvoid *map, GLuint offset, GLuint pitch, __DRIdrawablePrivate *dPriv);
extern void nouveau_window_moved(GLcontext *ctx);
extern GLboolean nouveau_build_framebuffer(GLcontext *, struct gl_framebuffer *);
extern nouveau_renderbuffer *nouveau_current_draw_buffer(GLcontext *ctx);
extern void nouveauInitBufferFuncs(struct dd_function_table *func);
#endif
|