return;
/* close the open-ed DRM fd */
- dri_state = (struct dri_state *)pDisplayContext->pDriverContext->dri_state;
+ dri_state = (struct dri_state *)pDisplayContext->pDriverContext->drm_state;
close(dri_state->base.fd);
- free(pDisplayContext->pDriverContext->dri_state);
+ free(pDisplayContext->pDriverContext->drm_state);
free(pDisplayContext->pDriverContext);
free(pDisplayContext);
}
)
{
VADriverContextP ctx = pDisplayContext->pDriverContext;
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
char *driver_name_env;
int vendor_id, device_id;
)
{
VADriverContextP ctx = pDisplayContext->pDriverContext;
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
char *driver_name_env;
int vendor_id, device_id;
int i = 0;
pDisplayContext->vaIsValid = va_DisplayContextIsValid;
pDisplayContext->vaDestroy = va_DisplayContextDestroy;
pDisplayContext->vaGetDriverName = va_DisplayContextGetDriverName;
- pDriverContext->dri_state = dri_state;
+ pDriverContext->drm_state = dri_state;
dpy = (VADisplay)pDisplayContext;
}
else
const char *str_vendor;
void *handle; /* dlopen handle */
-
- void *dri_state;
+
+ /**
+ * \brief DRM state.
+ *
+ * This field holds driver specific data for DRM-based
+ * drivers. This structure is allocated from libva with
+ * calloc(). Do not deallocate from within VA driver
+ * implementations.
+ *
+ * All structures shall be derived from struct drm_state. So, for
+ * instance, this field holds a dri_state structure for VA/X11
+ * drivers that use the DRM protocol.
+ */
+ void *drm_state;
+
void *glx; /* opaque for GLX code */
/**
static void
dri1Close(VADriverContextP ctx)
{
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
free_drawable_hashtable(ctx);
VA_DRIDestroyContext(ctx->native_dpy, ctx->x11_screen, dri_state->hwContextID);
Bool
isDRI1Connected(VADriverContextP ctx, char **driver_name)
{
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
int direct_capable;
int driver_major;
int driver_minor;
void
dri2Close(VADriverContextP ctx)
{
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
free_drawable_hashtable(ctx);
Bool
isDRI2Connected(VADriverContextP ctx, char **driver_name)
{
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
int major, minor;
int error_base;
int event_base;
static struct dri_drawable *
do_drawable_hash(VADriverContextP ctx, XID drawable)
{
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
int index = drawable % DRAWABLE_HASH_SZ;
struct dri_drawable *dri_drawable = dri_state->drawable_hash[index];
void
free_drawable(VADriverContextP ctx, struct dri_drawable* dri_drawable)
{
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
int i = 0;
while (i++ < DRAWABLE_HASH_SZ) {
void
free_drawable_hashtable(VADriverContextP ctx)
{
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
int i;
struct dri_drawable *dri_drawable, *prev;
void
dri_swap_buffer(VADriverContextP ctx, struct dri_drawable *dri_drawable)
{
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
dri_state->swapBuffer(ctx, dri_drawable);
}
union dri_buffer *
dri_get_rendering_buffer(VADriverContextP ctx, struct dri_drawable *dri_drawable)
{
- struct dri_state *dri_state = (struct dri_state *)ctx->dri_state;
+ struct dri_state *dri_state = (struct dri_state *)ctx->drm_state;
return dri_state->getRenderingBuffer(ctx, dri_drawable);
}
return;
ctx = pDisplayContext->pDriverContext;
- dri_state = ctx->dri_state;
+ dri_state = ctx->drm_state;
if (dri_state && dri_state->close)
dri_state->close(ctx);
- free(pDisplayContext->pDriverContext->dri_state);
+ free(pDisplayContext->pDriverContext->drm_state);
free(pDisplayContext->pDriverContext);
free(pDisplayContext);
}
pDisplayContext->vaDestroy = va_DisplayContextDestroy;
pDisplayContext->vaGetDriverName = va_DisplayContextGetDriverName;
pDisplayContext->opaque = NULL;
- pDriverContext->dri_state = dri_state;
+ pDriverContext->drm_state = dri_state;
dpy = (VADisplay)pDisplayContext;
}
else