[−][src]Struct fil_ocl_core::types::structs::ImageFormat
Image format properties used by Image
.
A structure that describes format properties of the image to be allocated. (from SDK)
Examples (from SDK)
To specify a normalized unsigned 8-bit / channel RGBA image: image_channel_order = CL_RGBA image_channel_data_type = CL_UNORM_INT8
image_channel_data_type values of CL_UNORM_SHORT_565, CL_UNORM_SHORT_555 and CL_UNORM_INT_101010 are special cases of packed image formats where the channels of each element are packed into a single unsigned short or unsigned int. For these special packed image formats, the channels are normally packed with the first channel in the most significant bits of the bitfield, and successive channels occupying progressively less significant locations. For CL_UNORM_SHORT_565, R is in bits 15:11, G is in bits 10:5 and B is in bits 4:0. For CL_UNORM_SHORT_555, bit 15 is undefined, R is in bits 14:10, G in bits 9:5 and B in bits 4:0. For CL_UNORM_INT_101010, bits 31:30 are undefined, R is in bits 29:20, G in bits 19:10 and B in bits 9:0. OpenCL implementations must maintain the minimum precision specified by the number of bits in image_channel_data_type. If the image format specified by image_channel_order, and image_channel_data_type cannot be supported by the OpenCL implementation, then the call to clCreateImage will return a NULL memory object.
Fields
channel_order: ImageChannelOrder
channel_data_type: ImageChannelDataType
Methods
impl ImageFormat
[src]
pub fn new(
order: ImageChannelOrder,
data_type: ImageChannelDataType
) -> ImageFormat
[src]
order: ImageChannelOrder,
data_type: ImageChannelDataType
) -> ImageFormat
pub fn new_rgba() -> ImageFormat
[src]
pub fn from_raw(fmt_raw: cl_image_format) -> ImageFormatParseResult
[src]
pub fn list_from_raw(
list_raw: Vec<cl_image_format>
) -> Vec<ImageFormatParseResult>
[src]
list_raw: Vec<cl_image_format>
) -> Vec<ImageFormatParseResult>
pub fn to_raw(&self) -> cl_image_format
[src]
pub fn new_raw() -> cl_image_format
[src]
pub fn pixel_bytes(&self) -> usize
[src]
Returns the size in bytes of a pixel using the format specified by this
ImageFormat
.
TODO: Add a special case for Depth & DepthStencil (https://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/cl_khr_gl_depth_images.html).
TODO: Validate combinations.
TODO: Use core::get_image_info
to check these with a test.
Trait Implementations
impl Clone for ImageFormat
[src]
fn clone(&self) -> ImageFormat
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for ImageFormat
[src]
Auto Trait Implementations
impl Send for ImageFormat
impl Sync for ImageFormat
impl Unpin for ImageFormat
impl UnwindSafe for ImageFormat
impl RefUnwindSafe for ImageFormat
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,