Home
last modified time | relevance | path

Searched refs:formatDescription (Results 1 - 25 of 28) sorted by relevance

12

/third_party/vk-gl-cts/external/vulkancts/modules_no_buildgn/vulkan/ycbcr/
H A DvktYCbCrStorageImageWriteTests.cpp149 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(params.format);
171 VkFormat planeCompatibleFormat0 = getPlaneCompatibleFormatForWriting(formatDescription, 0);
172 if (planeCompatibleFormat0 != getPlaneCompatibleFormat(formatDescription, 0))
210 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx)
212 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT;
214 VkFormat planeCompatibleFormat = getPlaneCompatibleFormatForWriting(formatDescription, planeNdx);
215 vk::PlanarFormatDescription compatibleFormatDescription = (planeCompatibleFormat != getPlaneCompatibleFormat(formatDescription, planeNdx)) ? getPlanarFormatDescription(planeCompatibleFormat) : formatDescription;
216 const tcu::UVec3 compatibleShaderGridSize ( params.size.x() / formatDescription.blockWidth, params.size.y() / formatDescription
[all...]
/third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ycbcr/
H A DvktYCbCrStorageImageWriteTests.cpp144 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(params.format);
148 if (!formatDescription.hasChannelNdx(channelNdx))
150 deUint32 planeNdx = formatDescription.channels[channelNdx].planeNdx;
151 vk::VkFormat planeCompatibleFormat = getPlaneCompatibleFormatForWriting(formatDescription, planeNdx);
188 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(params.format);
189 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx)
191 const VkFormat planeCompatibleFormat = getPlaneCompatibleFormatForWriting(formatDescription, planeNdx);
227 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(params.format);
229 const bool transferByViews = disjoint && (formatDescription.numPlanes > 1);
251 VkFormat planeCompatibleFormat0 = getPlaneCompatibleFormatForWriting(formatDescription,
[all...]
H A DvktYCbCrCopyTests.cpp132 const vk::PlanarFormatDescription formatDescription = vk::getPlanarFormatDescription(config.format); in checkFormatSupport() local
136 if (!formatDescription.hasChannelNdx(channelNdx)) in checkFormatSupport()
138 deUint32 planeNdx = formatDescription.channels[channelNdx].planeNdx; in checkFormatSupport()
139 vk::VkFormat planeCompatibleFormat = getPlaneCompatibleFormat(formatDescription, planeNdx); in checkFormatSupport()
/third_party/vk-gl-cts/external/vulkancts/modules/vulkan/sparse_resources/
H A DvktSparseResourcesImageSparseResidency.cpp167 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in initPrograms() local
168 const std::string imageTypeStr = getShaderImageType(formatDescription, m_imageType); in initPrograms()
169 const std::string formatDataStr = getShaderImageDataType(formatDescription); in initPrograms()
174 switch (formatDescription.channels[isAlphaOnly ? 3 : 0].type) in initPrograms()
199 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in initPrograms()
201 VkFormat planeCompatibleFormat = getPlaneCompatibleFormatForWriting(formatDescription, planeNdx); in initPrograms()
202 vk::PlanarFormatDescription compatibleFormatDescription = (planeCompatibleFormat != getPlaneCompatibleFormat(formatDescription, planeNdx)) ? getPlanarFormatDescription(planeCompatibleFormat) : formatDescription; in initPrograms()
203 VkExtent3D compatibleShaderGridSize { shaderGridSize.x() / formatDescription.blockWidth, shaderGridSize.y() / formatDescription in initPrograms()
349 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); iterate() local
[all...]
H A DvktSparseResourcesImageMemoryAliasing.cpp222 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
270 imageSparseInfo.mipLevels = getMipmapCount(m_format, formatDescription, imageFormatProperties, imageSparseInfo.extent); in iterate()
323 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
325 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT; in iterate()
342 const VkExtent3D mipExtent = getPlaneExtent(formatDescription, imageSparseInfo.extent, planeNdx, mipLevelNdx); in iterate()
456 planeOffsets[mipmapNdx].resize(formatDescription.numPlanes, 0); in iterate()
457 planeRowPitches[mipmapNdx].resize(formatDescription.numPlanes, 0); in iterate()
460 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
466 const deUint32 planeW = gridSize.x() / (formatDescription.blockWidth * formatDescription in iterate()
827 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); initPrograms() local
[all...]
H A DvktSparseResourcesShaderIntrinsicsBase.cpp448 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
486 imageSparseInfo.mipLevels = getMipmapCount(m_format, formatDescription, imageFormatProperties, imageSparseInfo.extent); in iterate()
538 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
542 imageSparseSizeInBytes += getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx, BUFFER_IMAGE_COPY_OFFSET_GRANULARITY); in iterate()
543 imageSizeInPixels += getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx) / formatDescription.planes[planeNdx].elementSizeBytes; in iterate()
574 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
576 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT; in iterate()
591 const deUint32 mipLevelSizeInPixels = getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx) / formatDescription in iterate()
[all...]
H A DvktSparseResourcesImageSparseBinding.cpp168 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
210 imageSparseInfo.mipLevels = getMipmapCount(m_format, formatDescription, imageFormatProperties, imageSparseInfo.extent); in iterate()
291 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
293 imageSizeInBytes += getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx, BUFFER_IMAGE_COPY_OFFSET_GRANULARITY); in iterate()
295 std::vector<VkBufferImageCopy> bufferImageCopy(formatDescription.numPlanes * imageSparseInfo.mipLevels); in iterate()
298 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
300 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT; in iterate()
311 vk::getPlaneExtent(formatDescription, imageSparseInfo.extent, planeNdx, mipmapNdx) // VkExtent3D imageExtent; in iterate()
313 bufferOffset += getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx, BUFFER_IMAGE_COPY_OFFSET_GRANULARITY); in iterate()
352 for (deUint32 planeNdx = 0; planeNdx < formatDescription in iterate()
[all...]
H A DvktSparseResourcesMipmapSparseResidency.cpp167 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
213 imageSparseInfo.mipLevels = getMipmapCount(m_format, formatDescription, imageFormatProperties, imageSparseInfo.extent); in iterate()
261 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
263 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT; in iterate()
280 const VkExtent3D mipExtent = getPlaneExtent(formatDescription, imageSparseInfo.extent, planeNdx, mipLevelNdx); in iterate()
403 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
405 imageSizeInBytes += getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx, BUFFER_IMAGE_COPY_OFFSET_GRANULARITY); in iterate()
407 std::vector <VkBufferImageCopy> bufferImageCopy(formatDescription.numPlanes*imageSparseInfo.mipLevels); in iterate()
411 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
413 const VkImageAspectFlags aspect = (formatDescription in iterate()
[all...]
H A DvktSparseResourcesShaderIntrinsicsStorage.cpp49 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in initPrograms() local
50 const std::string imageTypeStr = getShaderImageType(formatDescription, m_imageType); in initPrograms()
51 const std::string formatDataStr = getShaderImageDataType(formatDescription); in initPrograms()
60 const std::string typeImgComp = getImageComponentTypeName(formatDescription); in initPrograms()
61 const std::string typeImgCompVec4 = getImageComponentVec4TypeName(formatDescription); in initPrograms()
H A DvktSparseResourcesShaderIntrinsicsSampled.cpp146 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in initPrograms() local
214 const std::string typeImgComp = getImageComponentTypeName(formatDescription); in initPrograms()
215 const std::string typeImgCompVec4 = getImageComponentVec4TypeName(formatDescription); in initPrograms()
446 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in sparseImageOpString() local
447 const std::string typeImgComp = getImageComponentTypeName(formatDescription); in sparseImageOpString()
448 const std::string typeImgCompVec4 = getImageComponentVec4TypeName(formatDescription); in sparseImageOpString()
H A DvktSparseResourcesImageBlockShapes.cpp154 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
217 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
219 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT; in iterate()
227 deUint32 pixelSize = static_cast<deUint32>(formatDescription.planes[planeNdx].elementSizeBytes) * 8u; in iterate()
H A DvktSparseResourcesImageAlignedMipSize.cpp147 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
189 imageCreateInfo.mipLevels = getMipmapCount(m_format, formatDescription, imageFormatProperties, imageCreateInfo.extent); in iterate()
H A DvktSparseResourcesTestsUtil.hpp165 const vk::PlanarFormatDescription& formatDescription,
172 const vk::PlanarFormatDescription& formatDescription,
H A DvktSparseResourcesTestsUtil.cpp816 deUint32 getImageMipLevelSizeInBytes (const VkExtent3D& baseExtents, const deUint32 layersCount, const vk::PlanarFormatDescription& formatDescription, const deUint32 planeNdx, const deUint32 mipmapLevel, const deUint32 mipmapMemoryAlignment) in getImageMipLevelSizeInBytes() argument
818 return layersCount * getPlaneSizeInBytes(formatDescription, baseExtents, planeNdx, mipmapLevel, mipmapMemoryAlignment); in getImageMipLevelSizeInBytes()
821 deUint32 getImageSizeInBytes (const VkExtent3D& baseExtents, const deUint32 layersCount, const vk::PlanarFormatDescription& formatDescription, const deUint32 planeNdx, const deUint32 mipmapLevelsCount, const deUint32 mipmapMemoryAlignment) in getImageSizeInBytes() argument
826 imageSizeInBytes += getImageMipLevelSizeInBytes(baseExtents, layersCount, formatDescription, planeNdx, mipmapLevel, mipmapMemoryAlignment); in getImageSizeInBytes()
/third_party/vk-gl-cts/external/vulkancts/modules_no_buildgn/vulkan/sparse_resources/
H A DvktSparseResourcesImageSparseResidency.cpp169 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in initPrograms() local
170 const std::string imageTypeStr = getShaderImageType(formatDescription, m_imageType); in initPrograms()
171 const std::string formatDataStr = getShaderImageDataType(formatDescription); in initPrograms()
175 switch (formatDescription.channels[0].type) in initPrograms()
199 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in initPrograms()
201 VkFormat planeCompatibleFormat = getPlaneCompatibleFormatForWriting(formatDescription, planeNdx); in initPrograms()
202 vk::PlanarFormatDescription compatibleFormatDescription = (planeCompatibleFormat != getPlaneCompatibleFormat(formatDescription, planeNdx)) ? getPlanarFormatDescription(planeCompatibleFormat) : formatDescription; in initPrograms()
203 VkExtent3D compatibleShaderGridSize { shaderGridSize.x() / formatDescription.blockWidth, shaderGridSize.y() / formatDescription in initPrograms()
334 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); iterate() local
[all...]
H A DvktSparseResourcesImageMemoryAliasing.cpp224 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
272 imageSparseInfo.mipLevels = getMipmapCount(m_format, formatDescription, imageFormatProperties, imageSparseInfo.extent); in iterate()
325 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
327 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT; in iterate()
344 const VkExtent3D mipExtent = getPlaneExtent(formatDescription, imageSparseInfo.extent, planeNdx, mipLevelNdx); in iterate()
458 planeOffsets[mipmapNdx].resize(formatDescription.numPlanes, 0); in iterate()
459 planeRowPitches[mipmapNdx].resize(formatDescription.numPlanes, 0); in iterate()
462 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
468 const deUint32 planeW = gridSize.x() / (formatDescription.blockWidth * formatDescription in iterate()
829 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); initPrograms() local
[all...]
H A DvktSparseResourcesShaderIntrinsicsBase.cpp448 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
486 imageSparseInfo.mipLevels = getMipmapCount(m_format, formatDescription, imageFormatProperties, imageSparseInfo.extent); in iterate()
538 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
542 imageSparseSizeInBytes += getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx, BUFFER_IMAGE_COPY_OFFSET_GRANULARITY); in iterate()
543 imageSizeInPixels += getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx) / formatDescription.planes[planeNdx].elementSizeBytes; in iterate()
574 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
576 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT; in iterate()
591 const deUint32 mipLevelSizeInPixels = getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx) / formatDescription in iterate()
[all...]
H A DvktSparseResourcesImageSparseBinding.cpp165 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
207 imageSparseInfo.mipLevels = getMipmapCount(m_format, formatDescription, imageFormatProperties, imageSparseInfo.extent); in iterate()
288 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
290 imageSizeInBytes += getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx, BUFFER_IMAGE_COPY_OFFSET_GRANULARITY); in iterate()
292 std::vector<VkBufferImageCopy> bufferImageCopy(formatDescription.numPlanes * imageSparseInfo.mipLevels); in iterate()
295 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
297 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT; in iterate()
308 vk::getPlaneExtent(formatDescription, imageSparseInfo.extent, planeNdx, mipmapNdx) // VkExtent3D imageExtent; in iterate()
310 bufferOffset += getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx, BUFFER_IMAGE_COPY_OFFSET_GRANULARITY); in iterate()
349 for (deUint32 planeNdx = 0; planeNdx < formatDescription in iterate()
[all...]
H A DvktSparseResourcesMipmapSparseResidency.cpp169 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
215 imageSparseInfo.mipLevels = getMipmapCount(m_format, formatDescription, imageFormatProperties, imageSparseInfo.extent); in iterate()
263 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
265 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT; in iterate()
282 const VkExtent3D mipExtent = getPlaneExtent(formatDescription, imageSparseInfo.extent, planeNdx, mipLevelNdx); in iterate()
405 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
407 imageSizeInBytes += getImageMipLevelSizeInBytes(imageSparseInfo.extent, imageSparseInfo.arrayLayers, formatDescription, planeNdx, mipmapNdx, BUFFER_IMAGE_COPY_OFFSET_GRANULARITY); in iterate()
409 std::vector <VkBufferImageCopy> bufferImageCopy(formatDescription.numPlanes*imageSparseInfo.mipLevels); in iterate()
413 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
415 const VkImageAspectFlags aspect = (formatDescription in iterate()
[all...]
H A DvktSparseResourcesShaderIntrinsicsStorage.cpp49 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in initPrograms() local
50 const std::string imageTypeStr = getShaderImageType(formatDescription, m_imageType); in initPrograms()
51 const std::string formatDataStr = getShaderImageDataType(formatDescription); in initPrograms()
60 const std::string typeImgComp = getImageComponentTypeName(formatDescription); in initPrograms()
61 const std::string typeImgCompVec4 = getImageComponentVec4TypeName(formatDescription); in initPrograms()
H A DvktSparseResourcesShaderIntrinsicsSampled.cpp146 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in initPrograms() local
214 const std::string typeImgComp = getImageComponentTypeName(formatDescription); in initPrograms()
215 const std::string typeImgCompVec4 = getImageComponentVec4TypeName(formatDescription); in initPrograms()
446 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in sparseImageOpString() local
447 const std::string typeImgComp = getImageComponentTypeName(formatDescription); in sparseImageOpString()
448 const std::string typeImgCompVec4 = getImageComponentVec4TypeName(formatDescription); in sparseImageOpString()
H A DvktSparseResourcesImageBlockShapes.cpp156 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
220 for (deUint32 planeNdx = 0; planeNdx < formatDescription.numPlanes; ++planeNdx) in iterate()
222 const VkImageAspectFlags aspect = (formatDescription.numPlanes > 1) ? getPlaneAspect(planeNdx) : VK_IMAGE_ASPECT_COLOR_BIT; in iterate()
230 deUint32 pixelSize = static_cast<deUint32>(formatDescription.planes[planeNdx].elementSizeBytes) * 8u; in iterate()
H A DvktSparseResourcesImageAlignedMipSize.cpp149 const PlanarFormatDescription formatDescription = getPlanarFormatDescription(m_format); in iterate() local
191 imageCreateInfo.mipLevels = getMipmapCount(m_format, formatDescription, imageFormatProperties, imageCreateInfo.extent); in iterate()
H A DvktSparseResourcesTestsUtil.hpp165 const vk::PlanarFormatDescription& formatDescription,
172 const vk::PlanarFormatDescription& formatDescription,
H A DvktSparseResourcesTestsUtil.cpp813 deUint32 getImageMipLevelSizeInBytes (const VkExtent3D& baseExtents, const deUint32 layersCount, const vk::PlanarFormatDescription& formatDescription, const deUint32 planeNdx, const deUint32 mipmapLevel, const deUint32 mipmapMemoryAlignment) in getImageMipLevelSizeInBytes() argument
815 return layersCount * getPlaneSizeInBytes(formatDescription, baseExtents, planeNdx, mipmapLevel, mipmapMemoryAlignment); in getImageMipLevelSizeInBytes()
818 deUint32 getImageSizeInBytes (const VkExtent3D& baseExtents, const deUint32 layersCount, const vk::PlanarFormatDescription& formatDescription, const deUint32 planeNdx, const deUint32 mipmapLevelsCount, const deUint32 mipmapMemoryAlignment) in getImageSizeInBytes() argument
823 imageSizeInBytes += getImageMipLevelSizeInBytes(baseExtents, layersCount, formatDescription, planeNdx, mipmapLevel, mipmapMemoryAlignment); in getImageSizeInBytes()

Completed in 24 milliseconds

12