mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-09 22:43:00 +08:00
Change-Id: If965c79d70392db26597aea4c2f3b7ae2820fe96 Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
36 lines
1.0 KiB
C++
36 lines
1.0 KiB
C++
/*
|
|
* Copyright (C) 2017-2019 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
#include "runtime/mem_obj/image.h"
|
|
#include "runtime/sharings/va/va_sharing.h"
|
|
|
|
namespace NEO {
|
|
class Context;
|
|
class Image;
|
|
|
|
class VASurface : VASharing {
|
|
public:
|
|
static Image *createSharedVaSurface(Context *context, VASharingFunctions *sharingFunctions,
|
|
cl_mem_flags flags, VASurfaceID *surface, cl_uint plane,
|
|
cl_int *errcodeRet);
|
|
|
|
void synchronizeObject(UpdateData &updateData) override;
|
|
|
|
void getMemObjectInfo(size_t ¶mValueSize, void *¶mValue) override;
|
|
|
|
protected:
|
|
VASurface(VASharingFunctions *sharingFunctions, VAImageID imageId,
|
|
cl_uint plane, VASurfaceID *surfaceId, bool interopUserSync)
|
|
: VASharing(sharingFunctions, imageId), plane(plane), surfaceId(surfaceId), interopUserSync(interopUserSync){};
|
|
|
|
cl_uint plane;
|
|
VASurfaceID *surfaceId;
|
|
bool interopUserSync;
|
|
};
|
|
} // namespace NEO
|