📄 drirenderbuffer.h
字号:
/** * A driRenderbuffer is dervied from gl_renderbuffer. * It describes a color buffer (front or back), a depth buffer, or stencil * buffer etc. * Specific to DRI drivers are the offset and pitch fields. */#ifndef DRIRENDERBUFFER_H#define DRIRENDERBUFFER_H#include "mtypes.h"#include "dri_util.h"typedef struct { struct gl_renderbuffer Base; /* Chars or bytes per pixel. If Z and Stencil are stored together this * will typically be 32 whether this a depth or stencil renderbuffer. */ GLint cpp; /* Buffer position and pitch (row stride). Recall that for today's DRI * drivers, we have statically allocated color/depth/stencil buffers. * So this information describes the whole screen, not just a window. * To address pixels in a window, we need to know the window's position * and size with respect to the screen. */ GLint offset; /* in bytes */ GLint pitch; /* in pixels */ /* If the driver can do page flipping (full-screen double buffering) * the current front/back buffers may get swapped. * If page flipping is disabled, these fields will be identical to * the offset/pitch/Data above. * If page flipping is enabled, and this is the front(back) renderbuffer, * flippedOffset/Pitch/Data will have the back(front) renderbuffer's values. */ GLint flippedOffset; GLint flippedPitch; GLvoid *flippedData; /* mmap'd address of buffer memory, if used */ /* Pointer to corresponding __DRIdrawablePrivate. This is used to compute * the window's position within the framebuffer. */ __DRIdrawablePrivate *dPriv; /* XXX this is for radeon/r200 only. We should really create a new * r200Renderbuffer class, derived from this class... not a huge deal. */ GLboolean depthHasSurface; /** * A handy flag to know if this is the back color buffer. * * \note * This is currently only used by s3v and tdfx. */ GLboolean backBuffer;} driRenderbuffer;extern driRenderbuffer *driNewRenderbuffer(GLenum format, GLvoid *addr, GLint cpp, GLint offset, GLint pitch, __DRIdrawablePrivate *dPriv);extern voiddriFlipRenderbuffers(struct gl_framebuffer *fb, GLboolean flipped);extern voiddriUpdateFramebufferSize(GLcontext *ctx, const __DRIdrawablePrivate *dPriv);#endif /* DRIRENDERBUFFER_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -