static void crStateCheckFBOAttachments(CRFramebufferObject *pFBO, GLuint rbo, GLenum target) { CRFBOAttachmentPoint *ap; int u; if (!pFBO) return; for (u=0; u<CR_MAX_COLOR_ATTACHMENTS; ++u) { ap = &pFBO->color[u]; if (ap->type==GL_RENDERBUFFER_EXT && ap->name==rbo) { crStateFramebufferRenderbufferEXT(target, u+GL_COLOR_ATTACHMENT0_EXT, 0, 0); #ifdef IN_GUEST pFBO->status = GL_FRAMEBUFFER_UNDEFINED; #endif } } ap = &pFBO->depth; if (ap->type==GL_RENDERBUFFER_EXT && ap->name==rbo) { crStateFramebufferRenderbufferEXT(target, GL_DEPTH_ATTACHMENT_EXT, 0, 0); #ifdef IN_GUEST pFBO->status = GL_FRAMEBUFFER_UNDEFINED; #endif } ap = &pFBO->stencil; if (ap->type==GL_RENDERBUFFER_EXT && ap->name==rbo) { crStateFramebufferRenderbufferEXT(target, GL_STENCIL_ATTACHMENT_EXT, 0, 0); #ifdef IN_GUEST pFBO->status = GL_FRAMEBUFFER_UNDEFINED; #endif } }
void PACKSPU_APIENTRY packspu_FramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { crStateFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer); crPackFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer); }
void SERVER_DISPATCH_APIENTRY crServerDispatchFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { crStateFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer); cr_server.head_spu->dispatch_table.FramebufferRenderbufferEXT(target, attachment, renderbuffertarget, crStateGetRenderbufferHWID(renderbuffer)); }