enum st_attachment_type strb_att;
void *privateData;
+ int32_t stamp;
+ int32_t iface_stamp;
};
enum vg_object_type {
BLEND_DIRTY = 1 << 0,
FRAMEBUFFER_DIRTY = 1 << 1,
DEPTH_STENCIL_DIRTY = 1 << 2,
+ PAINT_DIRTY = 1 << 3,
ALL_DIRTY = BLEND_DIRTY |
FRAMEBUFFER_DIRTY |
- DEPTH_STENCIL_DIRTY
+ DEPTH_STENCIL_DIRTY |
+ PAINT_DIRTY
};
struct vg_context
VGErrorCode _error;
struct st_framebuffer *draw_buffer;
- int32_t draw_buffer_invalid;
struct cso_hash *owned_objects[VG_OBJECT_LAST];
struct vg_paint *default_paint;
struct blit_state *blit;
+
+ int32_t draw_stamp;
};
enum vg_object_type type,
VGHandle object);
void vg_context_add_object(struct vg_context *ctx,
- enum vg_object_type type,
- void *ptr);
+ struct vg_object *obj);
void vg_context_remove_object(struct vg_context *ctx,
- enum vg_object_type type,
- void *ptr);
+ struct vg_object *obj);
void vg_validate_state(struct vg_context *ctx);