blob: e25dcbda87f3f0d8d219ab201102c7e83f3c3e73 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SRC_GRAPHICS_LIB_COMPUTE_SPINEL_CONTEXT_H_
#define SRC_GRAPHICS_LIB_COMPUTE_SPINEL_CONTEXT_H_
//
//
//
#include "spinel/spinel_result.h"
#include "spinel/spinel_types.h"
//
//
//
struct spinel_context
{
//
//
//
struct spinel_device * device;
//
//
//
spinel_result_t (*dispose)(struct spinel_device * device);
//
//
//
spinel_result_t (*get_limits)(struct spinel_device * device, //
spinel_context_limits_t * limits);
//
//
//
spinel_result_t (*path_builder)(struct spinel_device * device,
spinel_path_builder_t * path_builder);
spinel_result_t (*path_retain)(struct spinel_device * device,
spinel_path_t const * paths,
uint32_t count);
spinel_result_t (*path_release)(struct spinel_device * device,
spinel_path_t const * paths,
uint32_t count);
//
//
//
spinel_result_t (*raster_builder)(struct spinel_device * device,
spinel_raster_builder_t * raster_builder);
spinel_result_t (*raster_retain)(struct spinel_device * device,
spinel_raster_t const * rasters,
uint32_t count);
spinel_result_t (*raster_release)(struct spinel_device * device,
spinel_raster_t const * rasters,
uint32_t count);
//
//
//
spinel_result_t (*composition)(struct spinel_device * device, //
spinel_composition_t * composition);
//
//
//
spinel_result_t (*styling)(struct spinel_device * device,
spinel_styling_create_info_t const * create_info,
spinel_styling_t * styling);
//
//
//
spinel_result_t (*swapchain)(struct spinel_device * device, //
spinel_swapchain_create_info_t const * create_info,
spinel_swapchain_t * swapchain);
//
//
//
int32_t refcount;
};
//
//
//
#endif // SRC_GRAPHICS_LIB_COMPUTE_SPINEL_CONTEXT_H_