protocol: migrate to stable presentation-time.xml
Remove the unstable presentation_timing.xml file, and use presentation-time.xml from wayland-protocols instead to generate all the Presentation extension bindings. The following renames are done according to the XML changes: - generated header includes - enum constants and macros prefixed with WP_ - interface symbol names prefixed with wp_ - protocol API calls prefixed with wp_ Clients use wp_presentation_interface.name rather than hardcoding the global interface name: presentation-shm, weston-info, presentation-test. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> [Pekka: updated wayland-protocols dependency to 1.2]
This commit is contained in:
+11
-11
@@ -55,7 +55,7 @@
|
||||
#include "libinput-seat.h"
|
||||
#include "launcher-util.h"
|
||||
#include "vaapi-recorder.h"
|
||||
#include "presentation_timing-server-protocol.h"
|
||||
#include "presentation-time-server-protocol.h"
|
||||
#include "linux-dmabuf.h"
|
||||
|
||||
#ifndef DRM_CAP_TIMESTAMP_MONOTONIC
|
||||
@@ -608,13 +608,13 @@ drm_output_set_gamma(struct weston_output *output_base,
|
||||
}
|
||||
|
||||
/* Determine the type of vblank synchronization to use for the output.
|
||||
*
|
||||
*
|
||||
* The pipe parameter indicates which CRTC is in use. Knowing this, we
|
||||
* can determine which vblank sequence type to use for it. Traditional
|
||||
* cards had only two CRTCs, with CRTC 0 using no special flags, and
|
||||
* CRTC 1 using DRM_VBLANK_SECONDARY. The first bit of the pipe
|
||||
* parameter indicates this.
|
||||
*
|
||||
*
|
||||
* Bits 1-5 of the pipe parameter are 5 bit wide pipe number between
|
||||
* 0-31. If this is non-zero it indicates we're dealing with a
|
||||
* multi-gpu situation and we need to calculate the vblank sync
|
||||
@@ -778,7 +778,7 @@ drm_output_start_repaint_loop(struct weston_output *output_base)
|
||||
if (timespec_to_nsec(&vbl2now) < refresh_nsec) {
|
||||
drm_output_update_msc(output, vbl.reply.sequence);
|
||||
weston_output_finish_frame(output_base, &ts,
|
||||
PRESENTATION_FEEDBACK_INVALID);
|
||||
WP_PRESENTATION_FEEDBACK_INVALID);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -800,7 +800,7 @@ finish_frame:
|
||||
/* if we cannot page-flip, immediately finish frame */
|
||||
weston_compositor_read_presentation_clock(output_base->compositor, &ts);
|
||||
weston_output_finish_frame(output_base, &ts,
|
||||
PRESENTATION_FEEDBACK_INVALID);
|
||||
WP_PRESENTATION_FEEDBACK_INVALID);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -821,8 +821,8 @@ vblank_handler(int fd, unsigned int frame, unsigned int sec, unsigned int usec,
|
||||
struct drm_sprite *s = (struct drm_sprite *)data;
|
||||
struct drm_output *output = s->output;
|
||||
struct timespec ts;
|
||||
uint32_t flags = PRESENTATION_FEEDBACK_KIND_HW_COMPLETION |
|
||||
PRESENTATION_FEEDBACK_KIND_HW_CLOCK;
|
||||
uint32_t flags = WP_PRESENTATION_FEEDBACK_KIND_HW_COMPLETION |
|
||||
WP_PRESENTATION_FEEDBACK_KIND_HW_CLOCK;
|
||||
|
||||
drm_output_update_msc(output, frame);
|
||||
output->vblank_pending = 0;
|
||||
@@ -847,9 +847,9 @@ page_flip_handler(int fd, unsigned int frame,
|
||||
{
|
||||
struct drm_output *output = (struct drm_output *) data;
|
||||
struct timespec ts;
|
||||
uint32_t flags = PRESENTATION_FEEDBACK_KIND_VSYNC |
|
||||
PRESENTATION_FEEDBACK_KIND_HW_COMPLETION |
|
||||
PRESENTATION_FEEDBACK_KIND_HW_CLOCK;
|
||||
uint32_t flags = WP_PRESENTATION_FEEDBACK_KIND_VSYNC |
|
||||
WP_PRESENTATION_FEEDBACK_KIND_HW_COMPLETION |
|
||||
WP_PRESENTATION_FEEDBACK_KIND_HW_CLOCK;
|
||||
|
||||
drm_output_update_msc(output, frame);
|
||||
|
||||
@@ -1298,7 +1298,7 @@ drm_assign_planes(struct weston_output *output_base)
|
||||
/* All other planes are a direct scanout of a
|
||||
* single client buffer.
|
||||
*/
|
||||
ev->psf_flags = PRESENTATION_FEEDBACK_KIND_ZERO_COPY;
|
||||
ev->psf_flags = WP_PRESENTATION_FEEDBACK_KIND_ZERO_COPY;
|
||||
}
|
||||
|
||||
pixman_region32_fini(&surface_overlap);
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
#include "pixman-renderer.h"
|
||||
#include "libinput-seat.h"
|
||||
#include "gl-renderer.h"
|
||||
#include "presentation_timing-server-protocol.h"
|
||||
#include "presentation-time-server-protocol.h"
|
||||
|
||||
struct fbdev_backend {
|
||||
struct weston_backend base;
|
||||
@@ -121,7 +121,7 @@ fbdev_output_start_repaint_loop(struct weston_output *output)
|
||||
struct timespec ts;
|
||||
|
||||
weston_compositor_read_presentation_clock(output->compositor, &ts);
|
||||
weston_output_finish_frame(output, &ts, PRESENTATION_FEEDBACK_INVALID);
|
||||
weston_output_finish_frame(output, &ts, WP_PRESENTATION_FEEDBACK_INVALID);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "shared/helpers.h"
|
||||
#include "compositor.h"
|
||||
#include "pixman-renderer.h"
|
||||
#include "presentation_timing-server-protocol.h"
|
||||
#include "presentation-time-server-protocol.h"
|
||||
|
||||
struct headless_backend {
|
||||
struct weston_backend base;
|
||||
@@ -64,7 +64,7 @@ headless_output_start_repaint_loop(struct weston_output *output)
|
||||
struct timespec ts;
|
||||
|
||||
weston_compositor_read_presentation_clock(output->compositor, &ts);
|
||||
weston_output_finish_frame(output, &ts, PRESENTATION_FEEDBACK_INVALID);
|
||||
weston_output_finish_frame(output, &ts, WP_PRESENTATION_FEEDBACK_INVALID);
|
||||
}
|
||||
|
||||
static int
|
||||
|
||||
@@ -343,7 +343,7 @@ rdp_output_start_repaint_loop(struct weston_output *output)
|
||||
struct timespec ts;
|
||||
|
||||
weston_compositor_read_presentation_clock(output->compositor, &ts);
|
||||
weston_output_finish_frame(output, &ts, PRESENTATION_FEEDBACK_INVALID);
|
||||
weston_output_finish_frame(output, &ts, WP_PRESENTATION_FEEDBACK_INVALID);
|
||||
}
|
||||
|
||||
static int
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
#include "rpi-renderer.h"
|
||||
#include "launcher-util.h"
|
||||
#include "libinput-seat.h"
|
||||
#include "presentation_timing-server-protocol.h"
|
||||
#include "presentation-time-server-protocol.h"
|
||||
|
||||
#if 0
|
||||
#define DBG(...) \
|
||||
@@ -223,7 +223,7 @@ rpi_output_start_repaint_loop(struct weston_output *output)
|
||||
|
||||
/* XXX: do a phony dispmanx update and trigger on its completion? */
|
||||
weston_compositor_read_presentation_clock(output->compositor, &ts);
|
||||
weston_output_finish_frame(output, &ts, PRESENTATION_FEEDBACK_INVALID);
|
||||
weston_output_finish_frame(output, &ts, WP_PRESENTATION_FEEDBACK_INVALID);
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -257,8 +257,8 @@ static void
|
||||
rpi_output_update_complete(struct rpi_output *output,
|
||||
const struct timespec *stamp)
|
||||
{
|
||||
uint32_t flags = PRESENTATION_FEEDBACK_KIND_VSYNC |
|
||||
PRESENTATION_FEEDBACK_KIND_HW_COMPLETION;
|
||||
uint32_t flags = WP_PRESENTATION_FEEDBACK_KIND_VSYNC |
|
||||
WP_PRESENTATION_FEEDBACK_KIND_HW_COMPLETION;
|
||||
|
||||
DBG("frame update complete(%ld.%09ld)\n",
|
||||
(long)stamp->tv_sec, (long)stamp->tv_nsec);
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
#include "shared/os-compatibility.h"
|
||||
#include "shared/cairo-util.h"
|
||||
#include "fullscreen-shell-unstable-v1-client-protocol.h"
|
||||
#include "presentation_timing-server-protocol.h"
|
||||
#include "presentation-time-server-protocol.h"
|
||||
#include "linux-dmabuf.h"
|
||||
|
||||
#define WINDOW_TITLE "Weston Compositor"
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
#include "shared/config-parser.h"
|
||||
#include "shared/helpers.h"
|
||||
#include "shared/image-loader.h"
|
||||
#include "presentation_timing-server-protocol.h"
|
||||
#include "presentation-time-server-protocol.h"
|
||||
#include "linux-dmabuf.h"
|
||||
|
||||
#define DEFAULT_AXIS_STEP_DISTANCE wl_fixed_from_int(10)
|
||||
@@ -371,7 +371,7 @@ x11_output_start_repaint_loop(struct weston_output *output)
|
||||
struct timespec ts;
|
||||
|
||||
weston_compositor_read_presentation_clock(output->compositor, &ts);
|
||||
weston_output_finish_frame(output, &ts, PRESENTATION_FEEDBACK_INVALID);
|
||||
weston_output_finish_frame(output, &ts, WP_PRESENTATION_FEEDBACK_INVALID);
|
||||
}
|
||||
|
||||
static int
|
||||
|
||||
+16
-16
@@ -55,7 +55,7 @@
|
||||
|
||||
#include "compositor.h"
|
||||
#include "scaler-server-protocol.h"
|
||||
#include "presentation_timing-server-protocol.h"
|
||||
#include "presentation-time-server-protocol.h"
|
||||
#include "shared/helpers.h"
|
||||
#include "shared/os-compatibility.h"
|
||||
#include "shared/timespec-util.h"
|
||||
@@ -443,7 +443,7 @@ static void
|
||||
weston_presentation_feedback_discard(
|
||||
struct weston_presentation_feedback *feedback)
|
||||
{
|
||||
presentation_feedback_send_discarded(feedback->resource);
|
||||
wp_presentation_feedback_send_discarded(feedback->resource);
|
||||
wl_resource_destroy(feedback->resource);
|
||||
}
|
||||
|
||||
@@ -473,16 +473,16 @@ weston_presentation_feedback_present(
|
||||
if (wl_resource_get_client(o) != client)
|
||||
continue;
|
||||
|
||||
presentation_feedback_send_sync_output(feedback->resource, o);
|
||||
wp_presentation_feedback_send_sync_output(feedback->resource, o);
|
||||
}
|
||||
|
||||
secs = ts->tv_sec;
|
||||
presentation_feedback_send_presented(feedback->resource,
|
||||
secs >> 32, secs & 0xffffffff,
|
||||
ts->tv_nsec,
|
||||
refresh_nsec,
|
||||
seq >> 32, seq & 0xffffffff,
|
||||
flags | feedback->psf_flags);
|
||||
wp_presentation_feedback_send_presented(feedback->resource,
|
||||
secs >> 32, secs & 0xffffffff,
|
||||
ts->tv_nsec,
|
||||
refresh_nsec,
|
||||
seq >> 32, seq & 0xffffffff,
|
||||
flags | feedback->psf_flags);
|
||||
wl_resource_destroy(feedback->resource);
|
||||
}
|
||||
|
||||
@@ -496,7 +496,7 @@ weston_presentation_feedback_present_list(struct wl_list *list,
|
||||
{
|
||||
struct weston_presentation_feedback *feedback, *tmp;
|
||||
|
||||
assert(!(flags & PRESENTATION_FEEDBACK_INVALID) ||
|
||||
assert(!(flags & WP_PRESENTATION_FEEDBACK_INVALID) ||
|
||||
wl_list_empty(list));
|
||||
|
||||
wl_list_for_each_safe(feedback, tmp, list, link)
|
||||
@@ -2489,7 +2489,7 @@ weston_output_finish_frame(struct weston_output *output,
|
||||
* the deadline given by repaint_msec? In that case we delay until
|
||||
* the deadline of the next frame, to give clients a more predictable
|
||||
* timing of the repaint cycle to lock on. */
|
||||
if (presented_flags == PRESENTATION_FEEDBACK_INVALID && msec < 0)
|
||||
if (presented_flags == WP_PRESENTATION_FEEDBACK_INVALID && msec < 0)
|
||||
msec += refresh_nsec / 1000000;
|
||||
|
||||
if (msec < 1)
|
||||
@@ -4605,7 +4605,7 @@ presentation_feedback(struct wl_client *client,
|
||||
goto err_calloc;
|
||||
|
||||
feedback->resource = wl_resource_create(client,
|
||||
&presentation_feedback_interface,
|
||||
&wp_presentation_feedback_interface,
|
||||
1, callback);
|
||||
if (!feedback->resource)
|
||||
goto err_create;
|
||||
@@ -4624,7 +4624,7 @@ err_calloc:
|
||||
wl_client_post_no_memory(client);
|
||||
}
|
||||
|
||||
static const struct presentation_interface presentation_implementation = {
|
||||
static const struct wp_presentation_interface presentation_implementation = {
|
||||
presentation_destroy,
|
||||
presentation_feedback
|
||||
};
|
||||
@@ -4636,7 +4636,7 @@ bind_presentation(struct wl_client *client,
|
||||
struct weston_compositor *compositor = data;
|
||||
struct wl_resource *resource;
|
||||
|
||||
resource = wl_resource_create(client, &presentation_interface,
|
||||
resource = wl_resource_create(client, &wp_presentation_interface,
|
||||
version, id);
|
||||
if (resource == NULL) {
|
||||
wl_client_post_no_memory(client);
|
||||
@@ -4645,7 +4645,7 @@ bind_presentation(struct wl_client *client,
|
||||
|
||||
wl_resource_set_implementation(resource, &presentation_implementation,
|
||||
compositor, NULL);
|
||||
presentation_send_clock_id(resource, compositor->presentation_clock);
|
||||
wp_presentation_send_clock_id(resource, compositor->presentation_clock);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -4754,7 +4754,7 @@ weston_compositor_create(struct wl_display *display, void *user_data)
|
||||
ec, bind_scaler))
|
||||
goto fail;
|
||||
|
||||
if (!wl_global_create(ec->wl_display, &presentation_interface, 1,
|
||||
if (!wl_global_create(ec->wl_display, &wp_presentation_interface, 1,
|
||||
ec, bind_presentation))
|
||||
goto fail;
|
||||
|
||||
|
||||
+1
-1
@@ -1221,7 +1221,7 @@ weston_compositor_stack_plane(struct weston_compositor *ec,
|
||||
struct weston_plane *above);
|
||||
|
||||
/* An invalid flag in presented_flags to catch logic errors. */
|
||||
#define PRESENTATION_FEEDBACK_INVALID (1U << 31)
|
||||
#define WP_PRESENTATION_FEEDBACK_INVALID (1U << 31)
|
||||
|
||||
void
|
||||
weston_output_finish_frame(struct weston_output *output,
|
||||
|
||||
Reference in New Issue
Block a user