GL_INVALID_OPERATION error, when doing multisample framebuffer to multisample EGL Surface blitting

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

GL_INVALID_OPERATION error, when doing multisample framebuffer to multisample EGL Surface blitting

335 Views
mallibeerala
Contributor III

Hi,
I am doing multisample framebuffer to multisample EGL Surface blitting using Opengl ES in my I.MX8QM Eval board and I am getting error as "GL_INVALID_OPERATION". Below are the steps I did.

  • FrameBufferObject created with multisampled renderbuffer attached as  glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4, GL_RGBA8, width,height); and drawing in to FBO.

  • When using glBlitFramebuffer to render from FBO in to Default Framebuffer ,it gives GL_INVALID_OPERATION error when EGL window surface is created with attributes:
    • EGL_SAMPLES = 4

    • EGL_RED_SIZE = 8

    • EGL_GREEN_SIZE = 8

    • EGL_BLUE_SIZE = 8

    • EGL_ALPHA_SIZE = 8

  • When EGL Surface  is created with EGL_SAMPLES = 0 glBlitFramebuffer draws in to default framebuffer correctly.

    Note: 
    Source and Destination rectangles are  exactly same size in the glBlitFramebuffer.
Tags (1)
0 Kudos
Reply
1 Reply

253 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

This kind of use case is forbidden in OpenGL ES, you cannot resolve (blit) from multisampled buffer to a multisampled buffer.

As specified in the documentation:
https://registry.khronos.org/OpenGL-Refpages/es3.0/html/glBlitFramebuffer.xhtml

GL_INVALID_OPERATION is generated if the value of GL_SAMPLE_BUFFERS for the draw buffer is greater than zero.

Best regards/Saludos,
Aldo.
0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2368409%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%A4%9A%E9%87%87%E6%A0%B7%E5%B8%A7%E7%BC%93%E5%86%B2%E5%99%A8%E5%88%B0%E5%A4%9A%E9%87%87%E6%A0%B7%20EGL%20%E8%A1%A8%E9%9D%A2%E6%B7%B7%E5%90%88%E6%97%B6%E5%87%BA%E7%8E%B0%20GL_INVALID_OPERATION%20%E9%94%99%E8%AF%AF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2368409%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CBR%20%2F%3E%20%E6%88%91%E6%AD%A3%E5%9C%A8%E6%88%91%E7%9A%84%20I.MX8QM%20%E8%AF%84%E4%BC%B0%E6%9D%BF%E4%B8%AD%E4%BD%BF%E7%94%A8%20Opengl%20ES%20%E5%AF%B9%E5%A4%9A%E6%A0%B7%E6%9C%AC%20EGL%20Surface%20%E8%BF%9B%E8%A1%8C%E5%A4%9A%E6%A0%B7%E6%9C%AC%E5%B8%A7%E7%BC%93%E5%86%B2%E5%A4%84%E7%90%86%EF%BC%8C%E4%BD%86%E6%88%91%E9%81%87%E5%88%B0%E4%BA%86%E9%94%99%E8%AF%AF%EF%BC%8C%E5%9B%A0%E4%B8%BA%20%22%3CSPAN%3E%3CSTRONG%3E%20GL_INVALID_OPERATION%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%22%E3%80%82%E4%BB%A5%E4%B8%8B%E6%98%AF%E6%88%91%E7%9A%84%E6%93%8D%E4%BD%9C%E6%AD%A5%E9%AA%A4%E3%80%82%3C%2FP%3E%3CUL%3E%3CLI%3E%3CP%20align%3D%22left%22%3E%3CSPAN%3EFrameBufferObject%20%3C%2FSPAN%3E%3CSPAN%3E%E5%88%9B%E5%BB%BA%20%3C%2FSPAN%3E%3CSPAN%3E%E9%99%84%E5%8A%A0%E4%BA%86%E5%A4%9A%E9%87%87%E6%A0%B7%E5%91%88%E7%8E%B0%E7%BC%93%E5%86%B2%E5%8C%BA%20%3C%2FSPAN%3E%3CSPAN%3E%E4%BD%9C%E4%B8%BA%20%3C%2FSPAN%3E%3CSPAN%3E%20%3C%2FSPAN%3E%3CSPAN%3E%3CSTRONG%3EglRenderbufferStorageMultisample%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%3E(GL_RENDERBUFFER%2C4%2CGL_RGBA8%2Cwidth%2Cheight)%EF%BC%9B%E5%B9%B6%E7%BB%98%E5%88%B6%E5%88%B0%20FBO%20%E4%B8%AD%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3E%3CSPAN%3E%E5%BD%93%E4%BD%BF%E7%94%A8%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%3E%3CSPAN%3E%E5%9C%A8%E4%BD%BF%E7%94%A8%3CSTRONG%3EglBlitFramebuffer%20%3C%2FSTRONG%3E%E4%BB%8E%20FBO%20%E6%B8%B2%E6%9F%93%E5%88%B0%E9%BB%98%E8%AE%A4%E5%B8%A7%E7%BC%93%E5%86%B2%E5%8C%BA%E6%97%B6%EF%BC%8C%E4%BC%9A%E5%87%BA%E7%8E%B0%3CSTRONG%3EGL_INVALID_OPERATION%3C%2FSTRONG%3E%E9%94%99%E8%AF%AF%E3%80%82%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%3E%3CSPAN%3E%E5%88%9B%E5%BB%BA%E7%9A%84%20EGL%20%E7%AA%97%E5%8F%A3%E8%A1%A8%E9%9D%A2%E5%85%B7%E6%9C%89%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%3E%3CSPAN%3E%E5%B1%9E%E6%80%A7%EF%BC%9A%3C%2FSPAN%3E%3C%2FSPAN%3E%3CUL%3E%3CLI%3E%3CP%20align%3D%22left%22%3Eegl_samples%20%3D%204%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20align%3D%22left%22%3Eegl_red_size%20%3D%208%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20align%3D%22left%22%3Eegl_green_size%20%3D%208%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20align%3D%22left%22%3Eegl_blue_size%20%3D%208%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%20align%3D%22left%22%3Eegl_alpha_size%20%3D%208%3C%2FP%3E%3C%2FLI%3E%3C%2FUL%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3E%3CSPAN%3E%E5%BD%93%E5%88%9B%E5%BB%BA%20EGL%20%E8%A1%A8%E9%9D%A2%E6%97%B6%E4%BD%BF%E7%94%A8%20%3C%2FSPAN%3E%3C%2FSPAN%3EEGL_SAMPLES%20%3D%200%20%E6%97%B6%3CSPAN%3E%EF%BC%8C%3CSTRONG%3EglBlitFramebuffer%20%3C%2FSTRONG%3E%E4%BC%9A%E6%AD%A3%E7%A1%AE%E7%BB%98%E5%88%B6%E9%BB%98%E8%AE%A4%E5%B8%A7%E7%BC%93%E5%86%B2%E5%8C%BA%E3%80%82%3C%2FSPAN%3E%3CSPAN%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CSTRONG%3E%E6%B3%A8%E6%84%8F%EF%BC%9A%20%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%3E%E5%9C%A8%3CSTRONG%3EglBlitFramebuffer%3C%2FSTRONG%3E%20%E4%B8%AD%EF%BC%8C%E6%BA%90%E7%9F%A9%E5%BD%A2%E5%92%8C%E7%9B%AE%E6%A0%87%E7%9F%A9%E5%BD%A2%E7%9A%84%E5%A4%A7%E5%B0%8F%E5%AE%8C%E5%85%A8%E7%9B%B8%E5%90%8C%E3%80%82%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FUL%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2369846%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20GL_INVALID_OPERATION%20error%2C%20when%20doing%20multisample%20framebuffer%20to%20multisample%20EGL%20Surface%20blitti%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2369846%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3CBR%20%2F%3E%3CBR%20%2F%3EOpenGL%20ES%20%E7%A6%81%E6%AD%A2%E4%BD%BF%E7%94%A8%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%EF%BC%8C%E6%82%A8%E4%B8%8D%E8%83%BD%E4%BB%8E%E5%A4%9A%E9%87%87%E6%A0%B7%E7%BC%93%E5%86%B2%E5%8C%BA%E8%A7%A3%E6%9E%90%EF%BC%88blit%EF%BC%89%E5%88%B0%E5%A4%9A%E9%87%87%E6%A0%B7%E7%BC%93%E5%86%B2%E5%8C%BA%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E5%A6%82%E6%96%87%E4%BB%B6%E6%89%80%E8%BF%B0%EF%BC%9A%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fregistry.khronos.org%2FOpenGL-Refpages%2Fes3.0%2Fhtml%2FglBlitFramebuffer.xhtml%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fregistry.khronos.org%2FOpenGL-Refpages%2Fes3.0%2Fhtml%2FglBlitFramebuffer.xhtml%3C%2FA%3E%3C%2FP%3E%0A%3CDIV%3E%E5%A6%82%E6%9E%9C%E7%BB%98%E5%88%B6%E7%BC%93%E5%86%B2%E5%8C%BA%E7%9A%84%20GL_SAMPLE_BUFFERS%20%E5%80%BC%E5%A4%A7%E4%BA%8E%E9%9B%B6%EF%BC%8C%E5%88%99%E4%BC%9A%E7%94%9F%E6%88%90%20GL_INVALID_OPERATION%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E8%87%B4%E4%BB%A5%E6%9C%80%E5%B4%87%E9%AB%98%E7%9A%84%E6%95%AC%E6%84%8F%2F%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EAldo%E3%80%82%3C%2FDIV%3E%3C%2FLINGO-BODY%3E