Lines Matching refs:fb
53 * \param fb the framebuffer to draw to, or read from
58 const struct gl_framebuffer *fb)
62 if (_mesa_is_user_fbo(fb)) {
69 if (fb->Visual.stereoMode) {
71 if (fb->Visual.doubleBufferMode) {
75 else if (fb->Visual.doubleBufferMode) {
84 _mesa_back_to_front_if_single_buffered(const struct gl_framebuffer *fb,
109 if (!fb->Visual.doubleBufferMode) {
279 draw_buffer(struct gl_context *ctx, struct gl_framebuffer *fb,
295 = supported_buffer_bitmask(ctx, fb);
314 _mesa_drawbuffers(ctx, fb, 1, &buffer16, &destMask);
316 /* Call device driver function only if fb is the bound draw buffer */
317 if (fb == ctx->DrawBuffer) {
327 draw_buffer_error(struct gl_context *ctx, struct gl_framebuffer *fb,
330 draw_buffer(ctx, fb, buffer, caller, false);
335 draw_buffer_no_error(struct gl_context *ctx, struct gl_framebuffer *fb,
338 draw_buffer(ctx, fb, buffer, caller, true);
362 struct gl_framebuffer *fb;
365 fb = _mesa_lookup_framebuffer(ctx, framebuffer);
367 fb = ctx->WinSysDrawBuffer;
370 draw_buffer_no_error(ctx, fb, buf, "glNamedFramebufferDrawBuffer");
378 struct gl_framebuffer *fb;
381 fb = _mesa_lookup_framebuffer_dsa(ctx, framebuffer,
383 if (!fb)
387 fb = ctx->WinSysDrawBuffer;
389 draw_buffer_error(ctx, fb, buf, "glFramebufferDrawBufferEXT");
397 struct gl_framebuffer *fb;
400 fb = _mesa_lookup_framebuffer_err(ctx, framebuffer,
402 if (!fb)
406 fb = ctx->WinSysDrawBuffer;
408 draw_buffer_error(ctx, fb, buf, "glNamedFramebufferDrawBuffer");
424 draw_buffers(struct gl_context *ctx, struct gl_framebuffer *fb, GLsizei n,
457 if (ctx->API == API_OPENGLES2 && _mesa_is_winsys_fbo(fb) &&
464 supportedMask = supported_buffer_bitmask(ctx, fb);
490 _mesa_is_winsys_fbo(fb) &&
532 if (_mesa_is_gles3(ctx) && _mesa_is_user_fbo(fb) &&
553 if (!no_error && _mesa_is_user_fbo(fb) && buffers[output] >=
586 if (ctx->API == API_OPENGLES2 && _mesa_is_user_fbo(fb) &&
618 _mesa_drawbuffers(ctx, fb, n, buffers16, destMask);
621 * Call device driver function if fb is the bound draw buffer.
626 if (fb == ctx->DrawBuffer) {
636 draw_buffers_error(struct gl_context *ctx, struct gl_framebuffer *fb, GLsizei n,
639 draw_buffers(ctx, fb, n, buffers, caller, false);
644 draw_buffers_no_error(struct gl_context *ctx, struct gl_framebuffer *fb,
647 draw_buffers(ctx, fb, n, buffers, caller, true);
671 struct gl_framebuffer *fb;
674 fb = _mesa_lookup_framebuffer_dsa(ctx, framebuffer,
676 if (!fb)
680 fb = ctx->WinSysDrawBuffer;
682 draw_buffers_error(ctx, fb, n, bufs, "glFramebufferDrawBuffersEXT");
690 struct gl_framebuffer *fb;
693 fb = _mesa_lookup_framebuffer(ctx, framebuffer);
695 fb = ctx->WinSysDrawBuffer;
698 draw_buffers_no_error(ctx, fb, n, bufs, "glNamedFramebufferDrawBuffers");
707 struct gl_framebuffer *fb;
710 fb = _mesa_lookup_framebuffer_err(ctx, framebuffer,
712 if (!fb)
716 fb = ctx->WinSysDrawBuffer;
718 draw_buffers_error(ctx, fb, n, bufs, "glNamedFramebufferDrawBuffers");
727 updated_drawbuffers(struct gl_context *ctx, struct gl_framebuffer *fb)
733 if (_mesa_is_user_fbo(fb)) {
734 fb->_Status = 0;
748 * \param fb the desired draw buffer
756 _mesa_drawbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
765 const GLbitfield supportedMask = supported_buffer_bitmask(ctx, fb);
784 if (fb->_ColorDrawBufferIndexes[count] != bufIndex) {
785 updated_drawbuffers(ctx, fb);
786 fb->_ColorDrawBufferIndexes[count] = bufIndex;
790 fb->ColorDrawBuffer[0] = buffers[0];
791 fb->_NumColorDrawBuffers = count;
800 if (fb->_ColorDrawBufferIndexes[buf] != bufIndex) {
801 updated_drawbuffers(ctx, fb);
802 fb->_ColorDrawBufferIndexes[buf] = bufIndex;
807 if (fb->_ColorDrawBufferIndexes[buf] != BUFFER_NONE) {
808 updated_drawbuffers(ctx, fb);
809 fb->_ColorDrawBufferIndexes[buf] = BUFFER_NONE;
812 fb->ColorDrawBuffer[buf] = buffers[buf];
814 fb->_NumColorDrawBuffers = count;
818 for (buf = fb->_NumColorDrawBuffers; buf < ctx->Const.MaxDrawBuffers; buf++) {
819 if (fb->_ColorDrawBufferIndexes[buf] != BUFFER_NONE) {
820 updated_drawbuffers(ctx, fb);
821 fb->_ColorDrawBufferIndexes[buf] = BUFFER_NONE;
825 fb->ColorDrawBuffer[buf] = GL_NONE;
828 if (_mesa_is_winsys_fbo(fb)) {
831 if (ctx->Color.DrawBuffer[buf] != fb->ColorDrawBuffer[buf]) {
832 updated_drawbuffers(ctx, fb);
833 ctx->Color.DrawBuffer[buf] = fb->ColorDrawBuffer[buf];
862 * \param fb the framebuffer object to update
867 _mesa_readbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
870 if ((fb == ctx->ReadBuffer) && _mesa_is_winsys_fbo(fb)) {
877 fb->ColorReadBuffer = buffer;
878 fb->_ColorReadBufferIndex = bufferIndex;
891 read_buffer(struct gl_context *ctx, struct gl_framebuffer *fb,
923 supportedMask = supported_buffer_bitmask(ctx, fb);
935 _mesa_readbuffer(ctx, fb, buffer, srcBuffer);
937 /* Call the device driver function only if fb is the bound read buffer */
938 if (fb == ctx->ReadBuffer) {
946 read_buffer_err(struct gl_context *ctx, struct gl_framebuffer *fb,
949 read_buffer(ctx, fb, buffer, caller, false);
954 read_buffer_no_error(struct gl_context *ctx, struct gl_framebuffer *fb,
957 read_buffer(ctx, fb, buffer, caller, true);
982 struct gl_framebuffer *fb;
985 fb = _mesa_lookup_framebuffer(ctx, framebuffer);
987 fb = ctx->WinSysReadBuffer;
990 read_buffer_no_error(ctx, fb, src, "glNamedFramebufferReadBuffer");
998 struct gl_framebuffer *fb;
1001 fb = _mesa_lookup_framebuffer_dsa(ctx, framebuffer,
1003 if (!fb)
1007 fb = ctx->WinSysDrawBuffer;
1009 read_buffer_err(ctx, fb, buf, "glFramebufferReadBufferEXT");
1017 struct gl_framebuffer *fb;
1020 fb = _mesa_lookup_framebuffer_err(ctx, framebuffer,
1022 if (!fb)
1026 fb = ctx->WinSysReadBuffer;
1028 read_buffer_err(ctx, fb, src, "glNamedFramebufferReadBuffer");