X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fidentity%2Fid_screen.c;h=28cfa1f62b1ae660bbf066af05f7e0c3a220a321;hb=2f2d1b3d9b090aeba316d6c425c23e92340b5502;hp=9bf7fd4c0eebef38bebd17105cda3631d39a1d6e;hpb=2bf95c519e755146704f4942b1703d47d18bfeaa;p=mesa.git diff --git a/src/gallium/drivers/identity/id_screen.c b/src/gallium/drivers/identity/id_screen.c index 9bf7fd4c0ee..28cfa1f62b1 100644 --- a/src/gallium/drivers/identity/id_screen.c +++ b/src/gallium/drivers/identity/id_screen.c @@ -89,7 +89,7 @@ identity_screen_get_shader_param(struct pipe_screen *_screen, static float identity_screen_get_paramf(struct pipe_screen *_screen, - enum pipe_cap param) + enum pipe_capf param) { struct identity_screen *id_screen = identity_screen(_screen); struct pipe_screen *screen = id_screen->screen; @@ -188,33 +188,12 @@ identity_screen_resource_destroy(struct pipe_screen *screen, } -static struct pipe_resource * -identity_screen_user_buffer_create(struct pipe_screen *_screen, - void *ptr, - unsigned bytes, - unsigned usage) -{ - struct identity_screen *id_screen = identity_screen(_screen); - struct pipe_screen *screen = id_screen->screen; - struct pipe_resource *result; - - result = screen->user_buffer_create(screen, - ptr, - bytes, - usage); - - if (result) - return identity_resource_create(id_screen, result); - return NULL; -} - - - static void identity_screen_flush_frontbuffer(struct pipe_screen *_screen, struct pipe_resource *_resource, unsigned level, unsigned layer, - void *context_private) + void *context_private, + struct pipe_box *sub_box) { struct identity_screen *id_screen = identity_screen(_screen); struct identity_resource *id_resource = identity_resource(_resource); @@ -224,7 +203,7 @@ identity_screen_flush_frontbuffer(struct pipe_screen *_screen, screen->flush_frontbuffer(screen, resource, level, layer, - context_private); + context_private, sub_box); } static void @@ -264,6 +243,15 @@ identity_screen_fence_finish(struct pipe_screen *_screen, timeout); } +static uint64_t +identity_screen_get_timestamp(struct pipe_screen *_screen) +{ + struct identity_screen *id_screen = identity_screen(_screen); + struct pipe_screen *screen = id_screen->screen; + + return screen->get_timestamp(screen); +} + struct pipe_screen * identity_screen_create(struct pipe_screen *screen) { @@ -274,8 +262,6 @@ identity_screen_create(struct pipe_screen *screen) return NULL; } - id_screen->base.winsys = NULL; - id_screen->base.destroy = identity_screen_destroy; id_screen->base.get_name = identity_screen_get_name; id_screen->base.get_vendor = identity_screen_get_vendor; @@ -288,11 +274,11 @@ identity_screen_create(struct pipe_screen *screen) id_screen->base.resource_from_handle = identity_screen_resource_from_handle; id_screen->base.resource_get_handle = identity_screen_resource_get_handle; id_screen->base.resource_destroy = identity_screen_resource_destroy; - id_screen->base.user_buffer_create = identity_screen_user_buffer_create; id_screen->base.flush_frontbuffer = identity_screen_flush_frontbuffer; id_screen->base.fence_reference = identity_screen_fence_reference; id_screen->base.fence_signalled = identity_screen_fence_signalled; id_screen->base.fence_finish = identity_screen_fence_finish; + id_screen->base.get_timestamp = identity_screen_get_timestamp; id_screen->screen = screen;