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); ...