#include "colormac.h"
#include "context.h"
#include "enums.h"
-#include "fbobject.h"
-#include "state.h"
+#include "mtypes.h"
#define BAD_MASK ~0u
* \return bitmask of BUFFER_BIT_* flags
*/
static GLbitfield
-supported_buffer_bitmask(const GLcontext *ctx, const struct gl_framebuffer *fb)
+supported_buffer_bitmask(const struct gl_context *ctx, const struct gl_framebuffer *fb)
{
GLbitfield mask = 0x0;
if (ctx->Driver.DrawBuffers)
ctx->Driver.DrawBuffers(ctx, n, buffers);
else if (ctx->Driver.DrawBuffer)
- ctx->Driver.DrawBuffer(ctx, n>0? buffers[0]:GL_NONE);
+ ctx->Driver.DrawBuffer(ctx, n > 0 ? buffers[0] : GL_NONE);
}
* BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT).
*/
void
-_mesa_drawbuffers(GLcontext *ctx, GLuint n, const GLenum *buffers,
+_mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers,
const GLbitfield *destMask)
{
struct gl_framebuffer *fb = ctx->DrawBuffer;
*/
if (n == 1) {
GLuint count = 0, destMask0 = destMask[0];
- /* init to -1 to help catch errors */
- //fb->_ColorDrawBufferIndexes[0] = -1;
while (destMask0) {
GLint bufIndex = _mesa_ffs(destMask0) - 1;
if (fb->_ColorDrawBufferIndexes[count] != bufIndex) {
while (buf < ctx->Const.MaxDrawBuffers) {
if (fb->_ColorDrawBufferIndexes[buf] != -1) {
fb->_ColorDrawBufferIndexes[buf] = -1;
- buf++;
+ newState = GL_TRUE;
}
fb->ColorDrawBuffer[buf] = GL_NONE;
+ buf++;
}
fb->_NumColorDrawBuffers = count;
}
}
if (newState)
- ctx->NewState |= _NEW_BUFFERS;
+ FLUSH_VERTICES(ctx, _NEW_BUFFERS);
}
* \param bufferIndex the numerical index corresponding to 'buffer'
*/
void
-_mesa_readbuffer(GLcontext *ctx, GLenum buffer, GLint bufferIndex)
+_mesa_readbuffer(struct gl_context *ctx, GLenum buffer, GLint bufferIndex)
{
struct gl_framebuffer *fb = ctx->ReadBuffer;