MCPcopy Create free account
hub / github.com/VirtualGL/virtualgl / getFramebufferAttachmentParameteriv

Function getFramebufferAttachmentParameteriv

server/backend.cpp:534–594  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

532
533
534void getFramebufferAttachmentParameteriv(GLenum target, GLenum attachment,
535 GLenum pname, GLint *params)
536{
537 bool isDefault = false;
538
539 if(fconfig.egl)
540 {
541 if(!params)
542 {
543 _glGetFramebufferAttachmentParameteriv(target, attachment, pname,
544 params);
545 return;
546 }
547 else if((attachment >= GL_FRONT_LEFT && attachment <= GL_BACK_RIGHT)
548 || (attachment >= GL_DEPTH && attachment <= GL_STENCIL))
549 {
550 FakePbuffer *pb;
551 if(((target == GL_FRAMEBUFFER || target == GL_DRAW_FRAMEBUFFER)
552 && (pb = getCurrentFakePbuffer(EGL_DRAW)) != NULL)
553 || (target == GL_READ_FRAMEBUFFER
554 && (pb = getCurrentFakePbuffer(EGL_READ)) != NULL))
555 {
556 switch(attachment)
557 {
558 case GL_FRONT_LEFT:
559 attachment = GL_COLOR_ATTACHMENT0; isDefault = true; break;
560 case GL_FRONT_RIGHT:
561 attachment = GL_COLOR_ATTACHMENT2; isDefault = true; break;
562 case GL_BACK_LEFT:
563 attachment = GL_COLOR_ATTACHMENT1; isDefault = true; break;
564 case GL_BACK_RIGHT:
565 attachment = GL_COLOR_ATTACHMENT3; isDefault = true; break;
566 case GL_DEPTH:
567 {
568 VGLFBConfig config = pb->getFBConfig();
569 if(config->attr.stencilSize && config->attr.depthSize)
570 attachment = GL_DEPTH_STENCIL_ATTACHMENT;
571 else
572 attachment = GL_DEPTH_ATTACHMENT;
573 isDefault = true; break;
574 }
575 case GL_STENCIL:
576 {
577 VGLFBConfig config = pb->getFBConfig();
578 if(config->attr.stencilSize && config->attr.depthSize)
579 attachment = GL_DEPTH_STENCIL_ATTACHMENT;
580 else
581 attachment = GL_STENCIL_ATTACHMENT;
582 isDefault = true; break;
583 }
584 }
585 }
586 }
587 }
588 _glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
589 if(fconfig.egl)
590 {
591 if(isDefault && *params == GL_RENDERBUFFER)

Callers 1

Calls 2

getCurrentFakePbufferFunction · 0.85
getFBConfigMethod · 0.45

Tested by

no test coverage detected