sRGB Extension#
API#
Structures
sRGB#
Device capabilities may include native support for sRGB image formats. sRGB images may benefit from hardware acceleration on devices that include native support for sRGB. The following psuedo-code demonstrates a sequence for creating an sRGB image:
// Specify single component FLOAT32 format ze_image_format_t format = { ZE_IMAGE_FORMAT_LAYOUT_32, ZE_IMAGE_FORMAT_TYPE_FLOAT, ZE_IMAGE_FORMAT_SWIZZLE_R, ZE_IMAGE_FORMAT_SWIZZLE_0, ZE_IMAGE_FORMAT_SWIZZLE_0, ZE_IMAGE_FORMAT_SWIZZLE_1 }; // Specify sRGB image format ze_srgb_ext_desc_t isSRGB = { ZE_STRUCTURE_TYPE_SRGB_EXT_DESC, nullptr, true }; ze_image_desc_t imageDesc = { ZE_STRUCTURE_TYPE_IMAGE_DESC, &isSRGB, 0, // read-only ZE_IMAGE_TYPE_2D, format, 128, 128, 0, 0, 0 }; ze_image_handle_t hImage; zeImageCreate(hContext, hDevice, &imageDesc, &hImage); // upload contents from host pointer zeCommandListAppendImageCopyFromMemory(hCommandList, hImage, nullptr, pImageData, nullptr, 0, nullptr); ...