cl_khr_dx9_media_sharing
cl_khr_dx9_media_sharing
2007-2011 The Khronos Group Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the condition that this copyright notice and permission notice shall be included in all copies or substantial portions of the Materials.
3
cl_khr_dx9_media_sharing Provide interoperability between OpenCL and selecgted adapter APIs (only DX9 at this time).

##

#pragma OPENCL EXTENSION cl_khr_dx9_media_sharing : enable

## Description

The interfaces for this extension are provided in the header file `cl_dx9_media_sharing.h`.

If the `cl_khr_dx9_media_sharing` extension is supported, then the following functions are enabled:

- clGetDeviceIDsFromDX9MediaAdapterKHR
- clCreateFromDX9MediaSurfaceKHR
- clEnqueueAcquireDX9MediaSurfacesKHR
- clEnqueueReleaseDX9MediaSurfacesKHR

The OpenCL functions enabled by the `cl_khr_dx9_media_sharing` extension allow applications to use media surfaces as OpenCL memory objects. This allows efficient sharing of data between OpenCL and selected adapter APIs (only DX9 for now). If this extension is supported, an OpenCL image object can be created from a media surface and the OpenCL API can be used to execute kernels that read and/or write memory objects that are media surfaces. Note that OpenCL memory objects may be created from the adapter media surface if and only if the OpenCL context has been created from that adapter.

If this extension is supported by an implementation, the string "cl_khr_dx9_media_sharing" will be present in the `CL_PLATFORM_EXTENSIONS` or `CL_DEVICE_EXTENSIONS` string described in the table of allowed values for `param_name` for clGetDeviceInfo

As currently proposed the interfaces for this extension would be provided in `cl_dx9_media_sharing.h`.

## Specification

OpenCL Specification

## Also see

EXTENSION, clGetDeviceIDsFromDX9MediaAdapterKHR, clCreateFromDX9MediaSurfaceKHR, clEnqueueAcquireDX9MediaSurfacesKHR, clEnqueueReleaseDX9MediaSurfacesKHR

##