files/en-us/web/api/webglrenderingcontext/checkframebufferstatus/index.md
{{APIRef("WebGL")}}{{AvailableInWorkers}}
The WebGLRenderingContext.checkFramebufferStatus() method
of the WebGL API returns the completeness
status of the {{domxref("WebGLFramebuffer")}} object.
checkFramebufferStatus(target)
target
: A {{domxref("WebGL_API/Types", "GLenum")}} specifying the binding point (target). Possible values:
gl.FRAMEBUFFER
When using a {{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}}, the following values are available additionally:
gl.DRAW_FRAMEBUFFER
gl.FRAMEBUFFER.
Used as a destination for drawing, rendering, clearing, and writing operations.gl.READ_FRAMEBUFFER
A {{domxref("WebGL_API/Types", "GLenum")}} indicating the completeness status of the framebuffer or
0 if an error occurs. Possible enum return values:
gl.FRAMEBUFFER_COMPLETE: The framebuffer is ready to display.
gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT: The attachment types are
mismatched or not all framebuffer attachment points are framebuffer attachment
complete.
gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: There is no attachment.
gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS: Height and width of the
attachment are not the same.
gl.FRAMEBUFFER_UNSUPPORTED: The format of the attachment is not
supported or if depth and stencil attachments are not the same renderbuffer.
When using a {{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}}, the following values can be returned additionally:
gl.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: The values of
gl.RENDERBUFFER_SAMPLES are different among attached renderbuffers,
or are non-zero if the attached images are a mix of renderbuffers and textures.When using the {{domxref("OVR_multiview2")}} extension, the following value can be returned additionally:
ext.FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: If
baseViewIndex is not the same for all framebuffer attachment points
where the value of FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is not
NONE, the framebuffer is considered incomplete.const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const framebuffer = gl.createFramebuffer();
// …
gl.checkFramebufferStatus(gl.FRAMEBUFFER);
{{Specifications}}
{{Compat}}