st/dri: integrate the HUD

Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Marek Olšák 2013-03-21 19:51:30 +01:00
parent c91cf7d7d2
commit e40c634bd2
3 changed files with 11 additions and 0 deletions

View file

@ -155,6 +155,7 @@ dri_create_context(gl_api api, const struct gl_config * visual,
if (ctx->st->cso_context) {
ctx->pp = pp_init(ctx->st->pipe, ctx->pp_enabled, ctx->st->cso_context);
ctx->hud = hud_create(ctx->st->pipe, ctx->st->cso_context);
}
*error = __DRI_CTX_ERROR_SUCCESS;
@ -173,6 +174,10 @@ dri_destroy_context(__DRIcontext * cPriv)
{
struct dri_context *ctx = dri_context(cPriv);
if (ctx->hud) {
hud_destroy(ctx->hud);
}
/* note: we are freeing values and nothing more because
* driParseConfigFiles allocated values only - the rest
* is owned by screen optionCacheDefaults.

View file

@ -35,6 +35,7 @@
#include "dri_util.h"
#include "pipe/p_compiler.h"
#include "postprocess/filters.h"
#include "hud/hud_context.h"
struct pipe_context;
struct pipe_fence;
@ -59,6 +60,7 @@ struct dri_context
struct st_context_iface *st;
struct pp_queue_t *pp;
unsigned int pp_enabled[PP_FILTERS];
struct hud_context *hud;
};
static INLINE struct dri_context *

View file

@ -443,6 +443,10 @@ dri_flush(__DRIcontext *cPriv,
}
dri_postprocessing(ctx, drawable, ST_ATTACHMENT_BACK_LEFT);
if (ctx->hud) {
hud_draw(ctx->hud, drawable->textures[ST_ATTACHMENT_BACK_LEFT]);
}
}
flush_flags = 0;