functions->DrawPixels = _mesa_meta_DrawPixels;
functions->CopyPixels = _mesa_meta_CopyPixels;
functions->Bitmap = _mesa_meta_Bitmap;
-#if FEATURE_EXT_framebuffer_blit
functions->BlitFramebuffer = _mesa_meta_BlitFramebuffer;
-#endif
}
radeon->glCtx->Driver.FinishRenderTexture = radeon_finish_render_texture;
radeon->glCtx->Driver.ResizeBuffers = radeon_resize_buffers;
radeon->glCtx->Driver.ValidateFramebuffer = radeon_validate_framebuffer;
-#if FEATURE_EXT_framebuffer_blit
radeon->glCtx->Driver.BlitFramebuffer = _mesa_meta_BlitFramebuffer;
-#endif
radeon->glCtx->Driver.EGLImageTargetRenderbufferStorage =
radeon_image_target_renderbuffer_storage;
}
SET_GetFramebufferAttachmentParameterivEXT(exec, _mesa_GetFramebufferAttachmentParameterivEXT);
SET_GenerateMipmapEXT(exec, _mesa_GenerateMipmapEXT);
-#if FEATURE_EXT_framebuffer_blit
if (ctx->API != API_OPENGLES2) {
SET_BlitFramebufferEXT(exec, _mesa_BlitFramebufferEXT);
}
-#endif
/* GL_EXT_gpu_program_parameters */
if (ctx->API == API_OPENGL) {
/* XXX more shader functions needed here */
-#if FEATURE_EXT_framebuffer_blit
static void GLAPIENTRY
save_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
mask, filter));
}
}
-#endif
/** GL_EXT_provoking_vertex */
CALL_DrawBuffersARB(ctx->Exec, (n[1].i, buffers));
}
break;
-#if FEATURE_EXT_framebuffer_blit
case OPCODE_BLIT_FRAMEBUFFER:
CALL_BlitFramebufferEXT(ctx->Exec, (n[1].i, n[2].i, n[3].i, n[4].i,
n[5].i, n[6].i, n[7].i, n[8].i,
n[9].i, n[10].e));
break;
-#endif
-
case OPCODE_USE_PROGRAM:
CALL_UseProgramObjectARB(ctx->Exec, (n[1].ui));
break;
SET_DrawBuffersARB(table, save_DrawBuffersARB);
-#if FEATURE_EXT_framebuffer_blit
SET_BlitFramebufferEXT(table, save_BlitFramebufferEXT);
-#endif
/* GL_ARB_shader_objects */
_mesa_init_shader_dispatch(table); /* Plug in glCreate/Delete/Get, etc */
ctx->Extensions.EXT_draw_buffers2 = GL_TRUE;
ctx->Extensions.EXT_fog_coord = GL_TRUE;
ctx->Extensions.EXT_framebuffer_object = GL_TRUE;
-#if FEATURE_EXT_framebuffer_blit
ctx->Extensions.EXT_framebuffer_blit = GL_TRUE;
-#endif
ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE;
ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE;
ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
}
}
-#if FEATURE_GL
if (_mesa_is_desktop_gl(ctx) && !ctx->Extensions.ARB_ES2_compatibility) {
/* Check that all DrawBuffers are present */
for (j = 0; j < ctx->Const.MaxDrawBuffers; j++) {
}
}
}
-#else
- (void) j;
-#endif
if (numImages == 0) {
fb->_Status = GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT;
}
switch (target) {
-#if FEATURE_EXT_framebuffer_blit
case GL_DRAW_FRAMEBUFFER_EXT:
if (!ctx->Extensions.EXT_framebuffer_blit) {
_mesa_error(ctx, GL_INVALID_ENUM, "glBindFramebufferEXT(target)");
bindDrawBuf = GL_FALSE;
bindReadBuf = GL_TRUE;
break;
-#endif
case GL_FRAMEBUFFER_EXT:
bindDrawBuf = GL_TRUE;
bindReadBuf = GL_TRUE;
}
-#if FEATURE_EXT_framebuffer_blit
-
static const struct gl_renderbuffer_attachment *
find_attachment(const struct gl_framebuffer *fb,
const struct gl_renderbuffer *rb)
dstX0, dstY0, dstX1, dstY1,
mask, filter);
}
-#endif /* FEATURE_EXT_framebuffer_blit */
void GLAPIENTRY
#define FEATURE_remap_table 0
#endif
-#define FEATURE_EXT_framebuffer_blit FEATURE_GL
#define FEATURE_EXT_texture_sRGB FEATURE_GL
#define FEATURE_EXT_transform_feedback FEATURE_GL
}
-#if FEATURE_EXT_framebuffer_blit
-
static void
st_BlitFramebuffer_resolve(struct gl_context *ctx,
GLbitfield mask,
{
functions->BlitFramebuffer = st_BlitFramebuffer;
}
-
-#endif /* FEATURE_EXT_framebuffer_blit */
extern void
st_destroy_blit(struct st_context *st);
-#if FEATURE_EXT_framebuffer_blit
-
extern void
st_init_blit_functions(struct dd_function_table *functions);
-#else
-
-static INLINE void
-st_init_blit_functions(struct dd_function_table *functions)
-{
-}
-
-#endif /* FEATURE_EXT_framebuffer_blit */
#endif /* ST_CB_BLIT_H */