Home | History | Annotate | Download | only in main

Lines Matching refs:ctx

48    GET_CURRENT_CONTEXT(ctx);
49 ASSERT_OUTSIDE_BEGIN_END(ctx);
51 if (ctx->Color.ClearIndex == (GLuint) c)
54 FLUSH_VERTICES(ctx, _NEW_COLOR);
55 ctx->Color.ClearIndex = (GLuint) c;
78 GET_CURRENT_CONTEXT(ctx);
79 ASSERT_OUTSIDE_BEGIN_END(ctx);
86 if (TEST_EQ_4V(tmp, ctx->Color.ClearColor.f))
89 FLUSH_VERTICES(ctx, _NEW_COLOR);
90 COPY_4V(ctx->Color.ClearColor.f, tmp);
101 GET_CURRENT_CONTEXT(ctx);
102 ASSERT_OUTSIDE_BEGIN_END(ctx);
109 if (TEST_EQ_4V(tmp, ctx->Color.ClearColor.i))
112 FLUSH_VERTICES(ctx, _NEW_COLOR);
113 COPY_4V(ctx->Color.ClearColor.i, tmp);
124 GET_CURRENT_CONTEXT(ctx);
125 ASSERT_OUTSIDE_BEGIN_END(ctx);
132 if (TEST_EQ_4V(tmp, ctx->Color.ClearColor.ui))
135 FLUSH_VERTICES(ctx, _NEW_COLOR);
136 COPY_4V(ctx->Color.ClearColor.ui, tmp);
153 GET_CURRENT_CONTEXT(ctx);
154 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
156 FLUSH_CURRENT(ctx, 0);
159 _mesa_debug(ctx, "glClear 0x%x\n", mask);
166 _mesa_error( ctx, GL_INVALID_VALUE, "glClear(0x%x)", mask);
174 && (ctx->API == API_OPENGL_CORE || _mesa_is_gles(ctx))) {
175 _mesa_error( ctx, GL_INVALID_VALUE, "glClear(GL_ACCUM_BUFFER_BIT)");
179 if (ctx->NewState) {
180 _mesa_update_state( ctx ); /* update _Xmin, etc */
183 if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
184 _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
189 if (ctx->DrawBuffer->Width == 0 || ctx->DrawBuffer->Height == 0 ||
190 ctx->DrawBuffer->_Xmin >= ctx->DrawBuffer->_Xmax ||
191 ctx->DrawBuffer->_Ymin >= ctx->DrawBuffer->_Ymax)
194 if (ctx->RasterDiscard)
197 if (ctx->RenderMode == GL_RENDER) {
201 if (!ctx->Depth.Mask)
212 for (i = 0; i < ctx->DrawBuffer->_NumColorDrawBuffers; i++) {
213 bufferMask |= (1 << ctx->DrawBuffer->_ColorDrawBufferIndexes[i]);
218 && ctx->DrawBuffer->Visual.haveDepthBuffer) {
223 && ctx->DrawBuffer->Visual.haveStencilBuffer) {
228 && ctx->DrawBuffer->Visual.haveAccumBuffer) {
232 ASSERT(ctx->Driver.Clear);
233 ctx->Driver.Clear(ctx, bufferMask);
248 make_color_buffer_mask(struct gl_context *ctx, GLint drawbuffer)
250 const struct gl_renderbuffer_attachment *att = ctx->DrawBuffer->Attachment;
289 if (drawbuffer < 0 || drawbuffer >= (GLint)ctx->Const.MaxDrawBuffers) {
309 GET_CURRENT_CONTEXT(ctx);
310 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
312 FLUSH_CURRENT(ctx, 0);
314 if (ctx->NewState) {
315 _mesa_update_state( ctx );
328 _mesa_error(ctx, GL_INVALID_VALUE, "glClearBufferiv(drawbuffer=%d)",
332 else if (ctx->DrawBuffer->Attachment[BUFFER_STENCIL].Renderbuffer && !ctx->RasterDiscard) {
335 * XXX in the future we may have a new ctx->Driver.ClearBuffer()
338 const GLuint clearSave = ctx->Stencil.Clear;
339 ctx->Stencil.Clear = *value;
340 ctx->Driver.Clear(ctx, BUFFER_BIT_STENCIL);
341 ctx->Stencil.Clear = clearSave;
346 const GLbitfield mask = make_color_buffer_mask(ctx, drawbuffer);
348 _mesa_error(ctx, GL_INVALID_VALUE, "glClearBufferiv(drawbuffer=%d)",
352 else if (mask && !ctx->RasterDiscard) {
356 clearSave = ctx->Color.ClearColor;
358 COPY_4V(ctx->Color.ClearColor.i, value);
360 ctx->Driver.Clear(ctx, mask);
362 ctx->Color.ClearColor = clearSave;
380 _mesa_error(ctx, GL_INVALID_VALUE, "glClearBufferiv(drawbuffer=%d)",
386 _mesa_error(ctx, GL_INVALID_ENUM, "glClearBufferiv(buffer=%s)",
400 GET_CURRENT_CONTEXT(ctx);
401 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
403 FLUSH_CURRENT(ctx, 0);
405 if (ctx->NewState) {
406 _mesa_update_state( ctx );
412 const GLbitfield mask = make_color_buffer_mask(ctx, drawbuffer);
414 _mesa_error(ctx, GL_INVALID_VALUE, "glClearBufferuiv(drawbuffer=%d)",
418 else if (mask && !ctx->RasterDiscard) {
422 clearSave = ctx->Color.ClearColor;
424 COPY_4V(ctx->Color.ClearColor.ui, value);
426 ctx->Driver.Clear(ctx, mask);
428 ctx->Color.ClearColor = clearSave;
452 _mesa_error(ctx, GL_INVALID_VALUE, "glClearBufferuiv(drawbuffer=%d)",
458 _mesa_error(ctx, GL_INVALID_ENUM, "glClearBufferuiv(buffer=%s)",
472 GET_CURRENT_CONTEXT(ctx);
473 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
475 FLUSH_CURRENT(ctx, 0);
477 if (ctx->NewState) {
478 _mesa_update_state( ctx );
491 _mesa_error(ctx, GL_INVALID_VALUE, "glClearBufferfv(drawbuffer=%d)",
495 else if (ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Renderbuffer && !ctx->RasterDiscard) {
498 * XXX in the future we may have a new ctx->Driver.ClearBuffer()
501 const GLclampd clearSave = ctx->Depth.Clear;
502 ctx->Depth.Clear = *value;
503 ctx->Driver.Clear(ctx, BUFFER_BIT_DEPTH);
504 ctx->Depth.Clear = clearSave;
510 const GLbitfield mask = make_color_buffer_mask(ctx, drawbuffer);
512 _mesa_error(ctx, GL_INVALID_VALUE, "glClearBufferfv(drawbuffer=%d)",
516 else if (mask && !ctx->RasterDiscard) {
520 clearSave = ctx->Color.ClearColor;
522 COPY_4V(ctx->Color.ClearColor.f, value);
524 ctx->Driver.Clear(ctx, mask);
526 ctx->Color.ClearColor = clearSave;
544 _mesa_error(ctx, GL_INVALID_VALUE, "glClearBufferfv(drawbuffer=%d)",
550 _mesa_error(ctx, GL_INVALID_ENUM, "glClearBufferfv(buffer=%s)",
565 GET_CURRENT_CONTEXT(ctx);
568 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
570 FLUSH_CURRENT(ctx, 0);
573 _mesa_error(ctx, GL_INVALID_ENUM, "glClearBufferfi(buffer=%s)",
586 _mesa_error(ctx, GL_INVALID_VALUE, "glClearBufferfi(drawbuffer=%d)",
591 if (ctx->RasterDiscard)
594 if (ctx->NewState) {
595 _mesa_update_state( ctx );
598 if (ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Renderbuffer)
600 if (ctx->DrawBuffer->Attachment[BUFFER_STENCIL].Renderbuffer)
605 const GLclampd clearDepthSave = ctx->Depth.Clear;
606 const GLuint clearStencilSave = ctx->Stencil.Clear;
609 ctx->Depth.Clear = depth;
610 ctx->Stencil.Clear = stencil;
613 ctx->Driver.Clear(ctx, mask);
616 ctx->Depth.Clear = clearDepthSave;
617 ctx->Stencil.Clear = clearStencilSave;