Lines Matching defs:src

360 	} src, dst;
389 src.image.createFlags = VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM;
391 src.buffer.fillMode = FILL_MODE_GRADIENT;
392 src.image.fillMode = FILL_MODE_GRADIENT;
577 void uploadImage (const tcu::ConstPixelBufferAccess& src, VkImage dst, const ImageParms& parms, const deUint32 mipLevels = 1u);
579 virtual void copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel = 0u) = 0;
580 deUint32 calculateSize (tcu::ConstPixelBufferAccess src) const
582 return src.getWidth() * src.getHeight() * src.getDepth() * tcu::getPixelSize(src.getFormat());
591 void uploadImageAspect (const tcu::ConstPixelBufferAccess& src,
595 void readImageAspect (vk::VkImage src,
893 void CopiesAndBlittingTestInstance::uploadImage (const tcu::ConstPixelBufferAccess& src, VkImage dst, const ImageParms& parms, const deUint32 mipLevels)
895 if (tcu::isCombinedDepthStencilType(src.getFormat().type))
897 if (tcu::hasDepthComponent(src.getFormat().order))
899 tcu::TextureLevel depthTexture (mapCombinedToDepthTransferFormat(src.getFormat()), src.getWidth(), src.getHeight(), src.getDepth());
900 tcu::copy(depthTexture.getAccess(), tcu::getEffectiveDepthStencilAccess(src, tcu::Sampler::MODE_DEPTH));
904 if (tcu::hasStencilComponent(src.getFormat().order))
906 tcu::TextureLevel stencilTexture (tcu::getEffectiveDepthStencilTextureFormat(src.getFormat(), tcu::Sampler::MODE_STENCIL), src.getWidth(), src.getHeight(), src.getDepth());
907 tcu::copy(stencilTexture.getAccess(), tcu::getEffectiveDepthStencilAccess(src, tcu::Sampler::MODE_STENCIL));
912 uploadImageAspect(src, dst, parms, mipLevels);
945 const tcu::ConstPixelBufferAccess src = m_sourceTextureLevel->getAccess();
952 copyRegionToTextureLevel(src, m_expectedTextureLevel[0]->getAccess(), m_params.regions[i]);
1262 virtual void copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel = 0u);
1281 getCreateFlags(m_params.src.image), // VkImageCreateFlags flags;
1282 m_params.src.image.imageType, // VkImageType imageType;
1283 m_params.src.image.format, // VkFormat format;
1284 getExtent3D(m_params.src.image), // VkExtent3D extent;
1286 getArraySize(m_params.src.image), // deUint32 arraySize;
1332 const bool srcCompressed = isCompressedFormat(m_params.src.image.format);
1335 const tcu::TextureFormat srcTcuFormat = getSizeCompatibleTcuTextureFormat(m_params.src.image.format);
1339 (int)m_params.src.image.extent.width,
1340 (int)m_params.src.image.extent.height,
1341 (int)m_params.src.image.extent.depth));
1342 generateBuffer(m_sourceTextureLevel->getAccess(), m_params.src.image.extent.width, m_params.src.image.extent.height, m_params.src.image.extent.depth, m_params.src.image.fillMode);
1350 uploadImage(m_sourceTextureLevel->getAccess(), m_source.get(), m_params.src.image);
1367 const deUint32 blockWidth = getBlockWidth(m_params.src.image.format);
1368 const deUint32 blockHeight = getBlockHeight(m_params.src.image.format);
1374 if (m_params.src.image.imageType != vk::VK_IMAGE_TYPE_1D)
1415 m_params.src.image.operationLayout, // VkImageLayout newLayout;
1424 getArraySize(m_params.src.image)// deUint32 arraySize;
1468 vk.cmdCopyImage(*m_cmdBuffer, m_source.get(), m_params.src.image.operationLayout, m_destination.get(), m_params.dst.image.operationLayout, (deUint32)imageCopies.size(), imageCopies.data());
1478 m_params.src.image.operationLayout, // VkImageLayout srcImageLayout;
1550 void CopyImageToImage::copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel)
1570 if (tcu::isCombinedDepthStencilType(src.getFormat().type))
1572 DE_ASSERT(src.getFormat() == dst.getFormat());
1575 if (tcu::hasDepthComponent(src.getFormat().order))
1577 const tcu::ConstPixelBufferAccess srcSubRegion = getEffectiveDepthStencilAccess(tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcOffset.z, extent.width, extent.height, extent.depth), tcu::Sampler::MODE_DEPTH);
1583 if (tcu::hasStencilComponent(src.getFormat().order))
1585 const tcu::ConstPixelBufferAccess srcSubRegion = getEffectiveDepthStencilAccess(tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcOffset.z, extent.width, extent.height, extent.depth), tcu::Sampler::MODE_STENCIL);
1592 const tcu::ConstPixelBufferAccess srcSubRegion = tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcOffset.z, extent.width, extent.height, extent.depth);
1625 if (m_params.src.image.format == VK_FORMAT_A8_UNORM_KHR || m_params.dst.image.format == VK_FORMAT_A8_UNORM_KHR ||
1626 m_params.src.image.format == VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR || m_params.dst.image.format == VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR)
1636 m_params.src.image.format,
1637 m_params.src.image.imageType,
1655 if (m_params.src.image.imageType == VK_IMAGE_TYPE_1D && m_params.src.image.extent.width > limits.maxImageDimension1D)
1656 TCU_THROW(NotSupportedError, "Requested 1D src image dimensions not supported");
1664 if (m_params.src.image.imageType == VK_IMAGE_TYPE_2D && (m_params.src.image.extent.width > limits.maxImageDimension2D
1665 || m_params.src.image.extent.height > limits.maxImageDimension2D))
1667 TCU_THROW(NotSupportedError, "Requested 2D src image dimensions not supported");
1679 if (m_params.src.image.imageType == VK_IMAGE_TYPE_3D && (m_params.src.image.extent.width > limits.maxImageDimension3D
1680 || m_params.src.image.extent.height > limits.maxImageDimension3D
1681 || m_params.src.image.extent.depth > limits.maxImageDimension3D))
1683 TCU_THROW(NotSupportedError, "Requested 3D src image dimensions not supported");
1688 || m_params.src.image.extent.depth > limits.maxImageDimension3D))
1718 virtual void copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel = 0u);
1737 getCreateFlags(m_params.src.image), // VkImageCreateFlags flags;
1738 m_params.src.image.imageType, // VkImageType imageType;
1739 m_params.src.image.format, // VkFormat format;
1740 getExtent3D(m_params.src.image), // VkExtent3D extent;
1742 getArraySize(m_params.src.image), // deUint32 arraySize;
1788 const bool srcCompressed = isCompressedFormat(m_params.src.image.format);
1791 const tcu::TextureFormat srcTcuFormat = getSizeCompatibleTcuTextureFormat(m_params.src.image.format);
1795 (int)m_params.src.image.extent.width,
1796 (int)m_params.src.image.extent.height,
1797 (int)m_params.src.image.extent.depth));
1798 generateBuffer(m_sourceTextureLevel->getAccess(), m_params.src.image.extent.width, m_params.src.image.extent.height, m_params.src.image.extent.depth, m_params.src.image.fillMode);
1799 uploadImage(m_sourceTextureLevel->getAccess(), m_source.get(), m_params.src.image, m_params.mipLevels);
1822 const deUint32 blockWidth = getBlockWidth(m_params.src.image.format);
1823 const deUint32 blockHeight = getBlockHeight(m_params.src.image.format);
1860 m_params.src.image.operationLayout, // VkImageLayout newLayout;
1869 getArraySize(m_params.src.image)// deUint32 arraySize;
1898 vk.cmdCopyImage(*m_cmdBuffer, m_source.get(), m_params.src.image.operationLayout, m_destination.get(), m_params.dst.image.operationLayout, (deUint32)imageCopies.size(), imageCopies.data());
1908 m_params.src.image.operationLayout, // VkImageLayout srcImageLayout;
1926 de::MovePtr<tcu::TextureLevel> expectedTextureLevel = readImage(*m_source, m_params.src.image, miplevel);
2020 void CopyImageToImageMipmap::copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel)
2028 if (m_params.src.image.imageType == VK_IMAGE_TYPE_3D && m_params.dst.image.imageType == VK_IMAGE_TYPE_2D)
2033 if (m_params.src.image.imageType == VK_IMAGE_TYPE_2D && m_params.dst.image.imageType == VK_IMAGE_TYPE_3D)
2040 if (tcu::isCombinedDepthStencilType(src.getFormat().type))
2042 DE_ASSERT(src.getFormat() == dst.getFormat());
2045 if (tcu::hasDepthComponent(src.getFormat().order))
2047 const tcu::ConstPixelBufferAccess srcSubRegion = getEffectiveDepthStencilAccess(tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcOffset.z, extent.width, extent.height, extent.depth), tcu::Sampler::MODE_DEPTH);
2053 if (tcu::hasStencilComponent(src.getFormat().order))
2055 const tcu::ConstPixelBufferAccess srcSubRegion = getEffectiveDepthStencilAccess(tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcOffset.z, extent.width, extent.height, extent.depth), tcu::Sampler::MODE_STENCIL);
2062 const tcu::ConstPixelBufferAccess srcSubRegion = tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcOffset.z, extent.width, extent.height, extent.depth);
2100 m_params.src.image.format,
2101 m_params.src.image.imageType,
2119 if (m_params.src.image.imageType == VK_IMAGE_TYPE_1D && m_params.src.image.extent.width > limits.maxImageDimension1D)
2120 TCU_THROW(NotSupportedError, "Requested 1D src image dimensions not supported");
2128 if (m_params.src.image.imageType == VK_IMAGE_TYPE_2D && (m_params.src.image.extent.width > limits.maxImageDimension2D
2129 || m_params.src.image.extent.height > limits.maxImageDimension2D))
2131 TCU_THROW(NotSupportedError, "Requested 2D src image dimensions not supported");
2143 if (m_params.src.image.imageType == VK_IMAGE_TYPE_3D && (m_params.src.image.extent.width > limits.maxImageDimension3D
2144 || m_params.src.image.extent.height > limits.maxImageDimension3D
2145 || m_params.src.image.extent.depth > limits.maxImageDimension3D))
2147 TCU_THROW(NotSupportedError, "Requested 3D src image dimensions not supported");
2152 || m_params.src.image.extent.depth > limits.maxImageDimension3D))
2195 m_params.src.buffer.size, // VkDeviceSize size;
2229 const int srcLevelWidth = (int)(m_params.src.buffer.size/4); // Here the format is VK_FORMAT_R32_UINT, we need to divide the buffer size by 4
2255 m_params.src.buffer.size // VkDeviceSize size;
2322 void CopyBufferToBuffer::copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel)
2327 (deUint8*) src.getDataPtr() + region.bufferCopy.srcOffset,
2367 virtual void copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel = 0u);
2380 , m_textureFormat(mapVkFormat(testParams.src.image.format))
2396 getCreateFlags(m_params.src.image), // VkImageCreateFlags flags;
2397 m_params.src.image.imageType, // VkImageType imageType;
2398 m_params.src.image.format, // VkFormat format;
2399 getExtent3D(m_params.src.image), // VkExtent3D extent;
2401 getArraySize(m_params.src.image), // deUint32 arraySize;
2440 m_params.src.image.extent.width,
2441 m_params.src.image.extent.height,
2442 m_params.src.image.extent.depth));
2443 generateBuffer(m_sourceTextureLevel->getAccess(), m_params.src.image.extent.width, m_params.src.image.extent.height, m_params.src.image.extent.depth, m_params.src.image.fillMode);
2449 uploadImage(m_sourceTextureLevel->getAccess(), *m_source, m_params.src.image);
2473 getArraySize(m_params.src.image) // deUint32 arraySize;
2571 void CopyImageToBuffer::copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel)
2583 const int texelSize = src.getFormat().getPixelSize();
2594 const tcu::ConstPixelBufferAccess srcSubRegion = tcu::getSubregion(src, srcOffset.x, srcOffset.y + y, srcOffset.z + z + baseArrayLayer,
2638 , m_texture(TestTexture2DSp(new pipeline::TestTexture2DArray(mapVkCompressedFormat(testParams.src.image.format), testParams.src.image.extent.width, testParams.src.image.extent.height, testParams.arrayLayers)))
2678 const ImageParms& srcImageParams = m_params.src.image;
2686 getCreateFlags(m_params.src.image), // VkImageCreateFlags flags;
2687 m_params.src.image.imageType, // VkImageType imageType;
2688 m_params.src.image.format, // VkFormat format;
2689 m_params.src.image.extent, // VkExtent3D extent;
2836 DE_ASSERT(m_params.src.image.tiling == VK_IMAGE_TILING_OPTIMAL);
2837 DE_ASSERT(m_params.src.image.imageType == vk::VK_IMAGE_TYPE_2D);
2842 context.getInstanceInterface().getPhysicalDeviceFormatProperties(context.getPhysicalDevice(), m_params.src.image.format, &formatProps);
2848 m_params.src.image.format,
2849 m_params.src.image.imageType,
2873 virtual void copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel = 0u);
2887 , m_bufferSize(m_params.src.buffer.size * tcu::getPixelSize(m_textureFormat))
2945 m_sourceTextureLevel = de::MovePtr<tcu::TextureLevel>(new tcu::TextureLevel(m_textureFormat, (int)m_params.src.buffer.size, 1));
2946 generateBuffer(m_sourceTextureLevel->getAccess(), (int)m_params.src.buffer.size, 1, 1, m_params.src.buffer.fillMode);
3062 void CopyBufferToImage::copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel)
3085 const tcu::ConstPixelBufferAccess srcSubRegion = tcu::getSubregion(src, texelIndex, 0, region.bufferImageCopy.imageExtent.width, 1);
3100 virtual void copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel = 0u);
3111 void CopyBufferToDepthStencil::copyRegionToTextureLevel(tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel)
3133 const tcu::ConstPixelBufferAccess srcSubRegion = tcu::getSubregion(src, texelIndex, 0, region.bufferImageCopy.imageExtent.width, 1);
3241 m_sourceTextureLevel = de::MovePtr<tcu::TextureLevel>(new tcu::TextureLevel(m_textureFormat, (int)m_params.src.buffer.size, 1));
3243 generateBuffer(m_sourceTextureLevel->getAccess(), (int)m_params.src.buffer.size, 1, 1);
3601 virtual void copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src,
3652 getCreateFlags(m_params.src.image), // VkImageCreateFlags flags;
3653 m_params.src.image.imageType, // VkImageType imageType;
3654 m_params.src.image.format, // VkFormat format;
3655 getExtent3D(m_params.src.image), // VkExtent3D extent;
3657 getArraySize(m_params.src.image), // deUint32 arraySize;
3659 m_params.src.image.tiling, // VkImageTiling tiling;
3707 const ImageParms& srcImageParams = m_params.src.image;
3788 getArraySize(m_params.src.image) // deUint32 arraySize;
4581 const tcu::ConstPixelBufferAccess src = clampSource ? clampedSourceLevel.getAccess() : source;
4584 if (floatNearestBlitCompare(src, res, srcMaxDiff, dstMaxDiff, errorMask, m_params.regions))
4610 const tcu::TextureFormat sourceFormat = tcu::getEffectiveDepthStencilTextureFormat(mapVkFormat(m_params.src.image.format), mode);
4622 const tcu::TextureFormat sourceFormat = tcu::getEffectiveDepthStencilTextureFormat(mapVkFormat(m_params.src.image.format), mode);
4636 const tcu::TextureFormat sourceFormat = mapVkFormat(m_params.src.image.format);
4685 void scaleFromWholeSrcBuffer (const tcu::PixelBufferAccess& dst, const tcu::ConstPixelBufferAccess& src, const VkOffset3D regionOffset, const VkOffset3D regionExtent, tcu::Sampler::FilterMode filter, const MirrorMode mirrorMode = 0u)
4704 dst.setPixel(linearToSRGBIfNeeded(dst.getFormat(), src.sample3D(sampler, filter, srcX, srcY, srcZ)), x, y, z);
4706 dst.setPixel(linearToSRGBIfNeeded(dst.getFormat(), src.sample2D(sampler, filter, srcX, srcY, 0)), x, y);
4710 void blit (const tcu::PixelBufferAccess& dst, const tcu::ConstPixelBufferAccess& src, const tcu::Sampler::FilterMode filter, const MirrorMode mirrorMode)
4717 const float sX = (float)src.getWidth() / (float)dst.getWidth();
4718 const float sY = (float)src.getHeight() / (float)dst.getHeight();
4719 const float sZ = (float)src.getDepth() / (float)dst.getDepth();
4733 dst.setPixel(linearToSRGBIfNeeded(dst.getFormat(), src.sample3D(sampler, filter, ((float)x + 0.5f) * sX, ((float)y + 0.5f) * sY, ((float)z + 0.5f) * sZ)), x * xScale + xOffset, y * yScale + yOffset, z * zScale + zOffset);
4803 void BlittingImages::copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel)
4838 if (tcu::isCombinedDepthStencilType(src.getFormat().type))
4840 DE_ASSERT(src.getFormat() == dst.getFormat());
4843 if (tcu::hasDepthComponent(src.getFormat().order))
4845 const tcu::ConstPixelBufferAccess srcSubRegion = getEffectiveDepthStencilAccess(tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcOffset.z, srcExtent.x, srcExtent.y, srcExtent.z), tcu::Sampler::MODE_DEPTH);
4851 const tcu::ConstPixelBufferAccess depthSrc = getEffectiveDepthStencilAccess(src, tcu::Sampler::MODE_DEPTH);
4858 if (tcu::hasStencilComponent(src.getFormat().order))
4860 const tcu::ConstPixelBufferAccess srcSubRegion = getEffectiveDepthStencilAccess(tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcOffset.z, srcExtent.x, srcExtent.y, srcExtent.z), tcu::Sampler::MODE_STENCIL);
4866 const tcu::ConstPixelBufferAccess stencilSrc = getEffectiveDepthStencilAccess(src, tcu::Sampler::MODE_STENCIL);
4874 const tcu::ConstPixelBufferAccess srcSubRegion = tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcOffset.z, srcExtent.x, srcExtent.y, srcExtent.z);
4881 scaleFromWholeSrcBuffer(unclampedSubRegion, src, srcOffset, srcExtent, filter, mirrorMode);
4888 const tcu::ConstPixelBufferAccess src = m_sourceCompressedTexture ? m_sourceCompressedTexture->getDecompressedAccess() : m_sourceTextureLevel->getAccess();
4903 copyRegionToTextureLevel(src, m_expectedTextureLevel[0]->getAccess(), region);
5059 if (m_params.src.image.format == VK_FORMAT_A8_UNORM_KHR || m_params.dst.image.format == VK_FORMAT_A8_UNORM_KHR ||
5060 m_params.src.image.format == VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR || m_params.dst.image.format == VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR)
5066 m_params.src.image.format,
5067 m_params.src.image.imageType,
5068 m_params.src.image.tiling,
5089 context.getInstanceInterface().getPhysicalDeviceFormatProperties(context.getPhysicalDevice(), m_params.src.image.format, &srcFormatProperties);
5090 VkFormatFeatureFlags srcFormatFeatures = m_params.src.image.tiling == VK_IMAGE_TILING_LINEAR ? srcFormatProperties.linearTilingFeatures : srcFormatProperties.optimalTilingFeatures;
5134 virtual void copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel = 0u);
5163 getCreateFlags(m_params.src.image), // VkImageCreateFlags flags;
5164 m_params.src.image.imageType, // VkImageType imageType;
5165 m_params.src.image.format, // VkFormat format;
5166 getExtent3D(m_params.src.image), // VkExtent3D extent;
5168 getArraySize(m_params.src.image), // deUint32 arraySize;
5214 const tcu::TextureFormat srcTcuFormat = mapVkFormat(m_params.src.image.format);
5217 m_params.src.image.extent.width,
5218 m_params.src.image.extent.height,
5219 m_params.src.image.extent.depth));
5220 generateBuffer(m_sourceTextureLevel->getAccess(), m_params.src.image.extent.width, m_params.src.image.extent.height, m_params.src.image.extent.depth, m_params.src.image.fillMode);
5228 uploadImage(m_sourceTextureLevel->getAccess(), m_source.get(), m_params.src.image);
5269 m_params.src.image.operationLayout, // VkImageLayout newLayout;
5278 getArraySize(m_params.src.image) // deUint32 arraySize;
5308 vk.cmdBlitImage(*m_cmdBuffer, m_source.get(), m_params.src.image.operationLayout, m_destination.get(), m_params.dst.image.operationLayout, (deUint32)m_params.regions.size(), &regions[0], m_params.filter);
5318 m_params.src.image.operationLayout, // VkImageLayout srcImageLayout;
5343 m_params.src.image.operationLayout, // VkImageLayout newLayout;
5352 getArraySize(m_params.src.image) // deUint32 arraySize;
5356 if (getArraySize(m_params.src.image) == 1)
5382 m_params.src.image.operationLayout, // VkImageLayout oldLayout;
5404 m_params.src.image.operationLayout, // VkImageLayout newLayout;
5413 getArraySize(m_params.src.image) // deUint32 arraySize;
5421 vk.cmdBlitImage(*m_cmdBuffer, m_destination.get(), m_params.src.image.operationLayout, m_destination.get(), m_params.dst.image.operationLayout, 1u, &regions[regionNdx], m_params.filter);
5431 m_params.src.image.operationLayout, // VkImageLayout srcImageLayout;
5452 m_params.src.image.operationLayout, // VkImageLayout oldLayout;
5492 tcu::ConstPixelBufferAccess src;
5497 src = prevResultLevel->getAccess();
5502 src = m_expectedTextureLevel[srcMipLevel]->getAccess();
5504 copyRegionToTextureLevel(src, m_expectedTextureLevel[dstMipLevel]->getAccess(), region, dstMipLevel);
5522 const tcu::TextureFormat srcFormat = tcu::hasDepthComponent(resultAccess.getFormat().order) ? tcu::getEffectiveDepthStencilTextureFormat(mapVkFormat(m_params.src.image.format), mode) :
5523 tcu::hasStencilComponent(resultAccess.getFormat().order) ? tcu::getEffectiveDepthStencilTextureFormat(mapVkFormat(m_params.src.image.format), mode) :
5524 mapVkFormat(m_params.src.image.format);
5681 void BlittingMipmaps::copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel)
5683 DE_ASSERT(src.getDepth() == dst.getDepth());
5716 if (tcu::isCombinedDepthStencilType(src.getFormat().type))
5718 DE_ASSERT(src.getFormat() == dst.getFormat());
5720 if (tcu::hasDepthComponent(src.getFormat().order))
5722 const tcu::ConstPixelBufferAccess srcSubRegion = getEffectiveDepthStencilAccess(tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcExtent.x, srcExtent.y), tcu::Sampler::MODE_DEPTH);
5728 const tcu::ConstPixelBufferAccess depthSrc = getEffectiveDepthStencilAccess(src, tcu::Sampler::MODE_DEPTH);
5735 if (tcu::hasStencilComponent(src.getFormat().order))
5737 const tcu::ConstPixelBufferAccess srcSubRegion = getEffectiveDepthStencilAccess(tcu::getSubregion(src, srcOffset.x, srcOffset.y, srcExtent.x, srcExtent.y), tcu::Sampler::MODE_STENCIL);
5743 const tcu::ConstPixelBufferAccess stencilSrc = getEffectiveDepthStencilAccess(src, tcu::Sampler::MODE_STENCIL);
5751 for (int layerNdx = 0u; layerNdx < src.getDepth(); layerNdx++)
5753 const tcu::ConstPixelBufferAccess srcSubRegion = tcu::getSubregion(src, srcOffset.x, srcOffset.y, layerNdx, srcExtent.x, srcExtent.y, 1);
5768 const tcu::ConstPixelBufferAccess src = m_sourceTextureLevel->getAccess();
5774 tcu::copy(m_expectedTextureLevel[0]->getAccess(), src);
5781 tcu::copy(m_unclampedExpectedTextureLevel[0]->getAccess(), src);
5813 m_params.src.image.format,
5822 else if ((m_params.src.image.extent.width > properties.maxExtent.width) ||
5823 (m_params.src.image.extent.height > properties.maxExtent.height) ||
5824 (m_params.src.image.extent.depth > properties.maxArrayLayers))
5856 const VkFormatProperties srcFormatProperties = getPhysicalDeviceFormatProperties (vki, vkPhysDevice, m_params.src.image.format);
5947 virtual void copyRegionToTextureLevel (tcu::ConstPixelBufferAccess src,
6023 getCreateFlags(m_params.src.image), // VkImageCreateFlags flags;
6024 m_params.src.image.imageType, // VkImageType imageType;
6025 m_params.src.image.format, // VkFormat format;
6026 getExtent3D(m_params.src.image), // VkExtent3D extent;
6028 getArraySize(m_params.src.image), // deUint32 arrayLayers;
6141 getArraySize(m_params.src.image) // deUint32 arraySize;
6202 m_params.src.image.format, // VkFormat format;
6327 m_params.src.image.format, // VkFormat format;
6344 m_params.src.image.extent.width, // deUint32 width;
6345 m_params.src.image.extent.height, // deUint32 height;
6354 const std::vector<VkViewport> viewports (1, makeViewport(m_params.src.image.extent));
6355 const std::vector<VkRect2D> scissors (1, makeRect2D(m_params.src.image.extent));
6401 const auto clearRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, m_params.src.image.extent.depth);
6408 const auto clearRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, m_params.src.image.extent.depth);
6418 beginRenderPass(vk, *m_cmdBuffer, *renderPass, *framebuffer, makeRect2D(0, 0, m_params.src.image.extent.width, m_params.src.image.extent.height), tcu::Vec4(0.0f, 0.0f, 1.0f, 1.0f));
6440 const tcu::TextureFormat srcTcuFormat = mapVkFormat(m_params.src.image.format);
6452 (int)m_params.src.image.extent.width,
6453 (int)m_params.src.image.extent.height,
6456 generateBuffer(m_sourceTextureLevel->getAccess(), m_params.src.image.extent.width, m_params.src.image.extent.height, m_params.dst.image.extent.depth, FILL_MODE_MULTISAMPLE);
6460 deUint32 sourceArraySize = getArraySize(m_params.src.image);
6492 VkExtent3D partialExtent = {getExtent3D(m_params.src.image).width / 2,
6493 getExtent3D(m_params.src.image).height / 2,
6494 getExtent3D(m_params.src.image).depth};
6539 m_params.src.image.operationLayout, // VkImageLayout oldLayout;
6540 m_params.src.image.operationLayout, // VkImageLayout newLayout;
6598 vk.cmdResolveImage(*m_cmdBuffer, sourceImage, m_params.src.image.operationLayout, m_destination.get(), m_params.dst.image.operationLayout, (deUint32)m_params.regions.size(), imageResolves.data());
6608 m_params.src.image.operationLayout, // VkImageLayout srcImageLayout;
6672 void ResolveImageToImage::copyRegionToTextureLevel(tcu::ConstPixelBufferAccess src, tcu::PixelBufferAccess dst, CopyRegion region, deUint32 mipLevel)
6682 (src.getDepth() - region.imageResolve.srcSubresource.baseArrayLayer ) :
6685 const tcu::ConstPixelBufferAccess srcSubRegion = getSubregion (src, srcOffset.x, srcOffset.y, srcOffset.z, extent.width, extent.height, extent.depth);
6700 const auto currentLayout = m_params.src.image.operationLayout;
6704 const auto fbWidth = m_params.src.image.extent.width;
6705 const auto fbHeight = m_params.src.image.extent.height;
6776 m_params.src.image.format, // VkFormat format;
6831 imageViews.push_back(makeImageView(vkd, device, m_multisampledImage.get(), VK_IMAGE_VIEW_TYPE_2D, m_params.src.image.format, makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 2u, 1u)));
6832 imageViews.push_back(makeImageView(vkd, device, m_multisampledCopyImage.get(), VK_IMAGE_VIEW_TYPE_2D, m_params.src.image.format, makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 4u, 1u)));
6836 imageViews.push_back(makeImageView(vkd, device, m_multisampledImage.get(), VK_IMAGE_VIEW_TYPE_2D, m_params.src.image.format, makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u)));
6903 const std::vector<VkViewport> viewports (1, makeViewport(m_params.src.image.extent));
6904 const std::vector<VkRect2D> scissors (1, makeRect2D(m_params.src.image.extent));
6952 beginRenderPass(vkd, cmdBuffer, renderPass.get(), framebuffer.get(), makeRect2D(m_params.src.image.extent));
6999 const tcu::TextureFormat srcTcuFormat = mapVkFormat(m_params.src.image.format);
7027 getExtent3D(m_params.src.image), // VkExtent3D extent;
7042 VkExtent3D partialExtent = {getExtent3D(m_params.src.image).width / 2,
7043 getExtent3D(m_params.src.image).height / 2,
7044 getExtent3D(m_params.src.image).depth};
7094 getExtent3D(m_params.src.image), // VkExtent3D extent;
7125 m_params.src.image.operationLayout, // VkImageLayout newLayout;
7134 getArraySize(m_params.src.image) // deUint32 arraySize;
7175 m_params.src.image.operationLayout, // VkImageLayout newLayout;
7190 m_params.src.image.operationLayout, // VkImageLayout newLayout;
7276 vk.cmdCopyImage(commandBuffer, m_multisampledImage.get(), m_params.src.image.operationLayout, m_multisampledCopyNoCabImage.get(), m_params.dst.image.operationLayout, (deUint32)imageCopies.size(), imageCopies.data());
7278 vk.cmdCopyImage(commandBuffer, m_multisampledCopyNoCabImage.get(), m_params.src.image.operationLayout, m_multisampledCopyImage.get(), m_params.dst.image.operationLayout, (deUint32)imageCopies.size(), imageCopies.data());
7282 vk.cmdCopyImage(commandBuffer, m_multisampledImage.get(), m_params.src.image.operationLayout, m_multisampledCopyImage.get(), m_params.dst.image.operationLayout, (deUint32)imageCopies.size(), imageCopies.data());
7295 m_params.src.image.operationLayout, // VkImageLayout srcImageLayout;
7325 m_params.src.image.operationLayout, // VkImageLayout srcImageLayout;
7344 m_params.src.image.operationLayout,
7345 m_params.src.image.operationLayout,
7439 m_params.src.image.format,
7440 m_params.src.image.imageType,
7647 // params.src.image is the parameters used to create the copy source image
7655 // params.src.image is the parameters used to create the copy destination image
8862 params.src.image.imageType = VK_IMAGE_TYPE_2D;
8863 params.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
8864 params.src.image.extent = defaultExtent;
8865 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
8866 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
8896 params.src.image.imageType = VK_IMAGE_TYPE_2D;
8897 params.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
8898 params.src.image.extent = defaultExtent;
8899 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
8900 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
8930 params.src.image.imageType = VK_IMAGE_TYPE_2D;
8931 params.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
8932 params.src.image.extent = defaultExtent;
8933 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
8934 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
9001 params.src.image.imageType = VK_IMAGE_TYPE_2D;
9002 params.src.image.format = format.format1;
9003 params.src.image.extent = extent.extent;
9004 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
9005 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
9047 params.src.image.imageType = VK_IMAGE_TYPE_2D;
9048 params.src.image.format = VK_FORMAT_D32_SFLOAT;
9049 params.src.image.extent = defaultExtent;
9050 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
9051 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
9088 params.src.image.imageType = VK_IMAGE_TYPE_2D;
9089 params.src.image.format = VK_FORMAT_S8_UINT;
9090 params.src.image.extent = defaultExtent;
9091 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
9092 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
9149 params.src.image.operationLayout = copySrcLayouts[srcLayoutNdx];
9155 const std::string testName = getImageLayoutCaseName(params.src.image.operationLayout) + "_" +
9157 const std::string description = "From layout " + getImageLayoutCaseName(params.src.image.operationLayout) +
9174 de::contains(dedicatedAllocationImageToImageFormatsToTestSet, testParams.params.src.image.format);
9183 const VkFormat srcFormatOnly[2] = { testParams.params.src.image.format, VK_FORMAT_UNDEFINED };
9190 const VkFormat srcFormat = testParams.params.src.image.format;
9750 params.src.image.imageType = VK_IMAGE_TYPE_1D;
9752 params.src.image.extent = default1dExtent;
9754 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
9756 params.src.image.fillMode = FILL_MODE_WHITE;
9785 params.src.image.format = compatibleFormats[srcFormatIndex];
9786 if (!isSupportedByFramework(params.src.image.format) && !isCompressedFormat(params.src.image.format))
9793 const std::string testName = getFormatCaseName(params.src.image.format);
9806 params.src.image.imageType = VK_IMAGE_TYPE_1D;
9808 params.src.image.extent = default1dExtent;
9810 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
9812 params.src.image.fillMode = FILL_MODE_WHITE;
9842 params.src.image.format = compatibleFormats[srcFormatIndex];
9843 if (!isSupportedByFramework(params.src.image.format) && !isCompressedFormat(params.src.image.format))
9850 const std::string testName = getFormatCaseName(params.src.image.format);
9863 params.src.image.imageType = VK_IMAGE_TYPE_1D;
9865 params.src.image.extent = default1dExtent;
9867 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
9869 params.src.image.fillMode = FILL_MODE_WHITE;
9902 params.src.image.format = compatibleFormats[srcFormatIndex];
9903 if (!isSupportedByFramework(params.src.image.format) && !isCompressedFormat(params.src.image.format))
9910 const std::string testName = getFormatCaseName(params.src.image.format);
9923 params.src.image.imageType = VK_IMAGE_TYPE_2D;
9925 params.src.image.extent = defaultQuarterExtent;
9927 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
9929 params.src.image.fillMode = FILL_MODE_WHITE;
9959 params.src.image.format = compatibleFormats[srcFormatIndex];
9960 if (!isSupportedByFramework(params.src.image.format) && !isCompressedFormat(params.src.image.format))
9967 const std::string testName = getFormatCaseName(params.src.image.format);
9980 params.src.image.imageType = VK_IMAGE_TYPE_2D;
9982 params.src.image.extent = defaultExtent;
9984 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
9986 params.src.image.fillMode = FILL_MODE_WHITE;
10015 params.src.image.format = compatibleFormats[srcFormatIndex];
10016 if (!isSupportedByFramework(params.src.image.format) && !isCompressedFormat(params.src.image.format))
10023 const std::string testName = getFormatCaseName(params.src.image.format);
10036 params.src.image.imageType = VK_IMAGE_TYPE_2D;
10038 params.src.image.extent = defaultExtent;
10040 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10042 params.src.image.fillMode = FILL_MODE_WHITE;
10072 params.src.image.format = compatibleFormats[srcFormatIndex];
10073 if (!isSupportedByFramework(params.src.image.format) && !isCompressedFormat(params.src.image.format))
10080 const std::string testName = getFormatCaseName(params.src.image.format);
10093 params.src.image.imageType = VK_IMAGE_TYPE_3D;
10095 params.src.image.extent = default3dSmallExtent;
10097 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10099 params.src.image.fillMode = FILL_MODE_WHITE;
10132 params.src.image.format = compatibleFormats[srcFormatIndex];
10133 if (!isSupportedByFramework(params.src.image.format) && !isCompressedFormat(params.src.image.format))
10140 const std::string testName = getFormatCaseName(params.src.image.format);
10153 params.src.image.imageType = VK_IMAGE_TYPE_3D;
10155 params.src.image.extent = default3dExtent;
10157 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10159 params.src.image.fillMode = FILL_MODE_WHITE;
10192 params.src.image.format = compatibleFormats[srcFormatIndex];
10193 if (!isSupportedByFramework(params.src.image.format) && !isCompressedFormat(params.src.image.format))
10200 const std::string testName = getFormatCaseName(params.src.image.format);
10213 params.src.image.imageType = VK_IMAGE_TYPE_3D;
10215 params.src.image.extent = default3dExtent;
10217 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10219 params.src.image.fillMode = FILL_MODE_WHITE;
10248 params.src.image.format = compatibleFormats[srcFormatIndex];
10249 if (!isSupportedByFramework(params.src.image.format) && !isCompressedFormat(params.src.image.format))
10256 const std::string testName = getFormatCaseName(params.src.image.format);
10385 testParams.params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10386 testParams.params.src.image.imageType = VK_IMAGE_TYPE_2D;
10387 testParams.params.src.image.extent = extent;
10400 const std::string dimensionStr = "src" + de::toString(testParams.params.src.image.extent.width) + "x" + de::toString(testParams.params.src.image.extent.height)
10414 testParams.params.src.image.format = testParams.compatibleFormats[srcFormatIndex];
10416 if (!isSupportedByFramework(testParams.params.src.image.format) && !isCompressedFormat(testParams.params.src.image.format))
10419 tcu::TestCaseGroup* srcFormatGroup = new tcu::TestCaseGroup(testCtx, getFormatCaseName(testParams.params.src.image.format).c_str());
10432 if (isCompressedFormat(testParams.params.src.image.format) && isCompressedFormat(testParams.params.dst.image.format))
10434 if ((getBlockWidth(testParams.params.src.image.format) != getBlockWidth(testParams.params.dst.image.format))
10435 || (getBlockHeight(testParams.params.src.image.format) != getBlockHeight(testParams.params.dst.image.format)))
10444 testParams.params.src.image.operationLayout = copySrcLayouts[srcLayoutNdx];
10450 const std::string testName = getImageLayoutCaseName(testParams.params.src.image.operationLayout) + "_" + getImageLayoutCaseName(testParams.params.dst.image.operationLayout);
10483 params.src.image.operationLayout = copySrcLayouts[srcLayoutNdx];
10488 const std::string testName = getImageLayoutCaseName(params.src.image.operationLayout) + "_" +
10515 params.src.image.imageType = VK_IMAGE_TYPE_1D;
10517 params.src.image.extent = default1dExtent;
10519 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
10520 params.dst.image.format = params.src.image.format;
10521 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10527 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
10528 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
10570 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
10576 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_separate_layouts";
10591 params.src.image.imageType = VK_IMAGE_TYPE_1D;
10593 params.src.image.extent = default1dExtent;
10595 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
10596 params.dst.image.format = params.src.image.format;
10597 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10604 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
10605 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
10647 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
10653 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_separate_layouts";
10668 params.src.image.imageType = VK_IMAGE_TYPE_1D;
10670 params.src.image.extent = default1dExtent;
10672 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
10673 params.dst.image.format = params.src.image.format;
10674 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10681 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
10682 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
10727 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
10733 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_separate_layouts";
10748 params.src.image.imageType = VK_IMAGE_TYPE_2D;
10750 params.src.image.extent = defaultQuarterExtent;
10752 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
10753 params.dst.image.format = params.src.image.format;
10754 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10761 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
10762 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
10805 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
10811 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_separate_layouts";
10840 const std::string testName3 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_depth_stencil_aspects";
10856 params.src.image.imageType = VK_IMAGE_TYPE_2D;
10858 params.src.image.extent = defaultExtent;
10860 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
10861 params.dst.image.format = params.src.image.format;
10862 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10868 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
10869 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
10912 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
10918 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_separate_layouts";
10947 const std::string testName3 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_depth_stencil_aspects";
10963 params.src.image.imageType = VK_IMAGE_TYPE_2D;
10965 params.src.image.extent = defaultExtent;
10967 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
10968 params.dst.image.format = params.src.image.format;
10969 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
10976 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
10977 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
11020 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
11026 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_separate_layouts";
11055 const std::string testName3 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_depth_stencil_aspects";
11071 params.src.image.imageType = VK_IMAGE_TYPE_3D;
11073 params.src.image.extent = default3dSmallExtent;
11075 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
11076 params.dst.image.format = params.src.image.format;
11077 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11084 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
11085 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
11130 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
11136 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_separate_layouts";
11151 params.src.image.imageType = VK_IMAGE_TYPE_3D;
11153 params.src.image.extent = default3dExtent;
11155 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
11156 params.dst.image.format = params.src.image.format;
11157 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11164 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
11165 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
11210 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
11216 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_separate_layouts";
11231 params.src.image.imageType = VK_IMAGE_TYPE_3D;
11233 params.src.image.extent = default3dExtent;
11235 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
11236 params.dst.image.format = params.src.image.format;
11237 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11243 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
11244 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
11286 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
11292 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format) + "_separate_layouts";
11315 params3DTo2D.src.image.imageType = VK_IMAGE_TYPE_3D;
11316 params3DTo2D.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11317 params3DTo2D.src.image.extent = defaultHalfExtent;
11318 params3DTo2D.src.image.extent.depth = slicesLayers;
11319 params3DTo2D.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11320 params3DTo2D.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11369 params2DTo3D.src.image.imageType = VK_IMAGE_TYPE_2D;
11370 params2DTo3D.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11371 params2DTo3D.src.image.extent = defaultHalfExtent;
11372 params2DTo3D.src.image.extent.depth = slicesLayers;
11373 params2DTo3D.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11374 params2DTo3D.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11424 params3DTo2D.src.image.imageType = VK_IMAGE_TYPE_3D;
11425 params3DTo2D.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11426 params3DTo2D.src.image.extent = defaultHalfExtent;
11427 params3DTo2D.src.image.extent.depth = slicesLayers;
11428 params3DTo2D.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11429 params3DTo2D.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11463 params3DTo2D.src.image.extent // VkExtent3D extent;
11477 params2DTo3D.src.image.imageType = VK_IMAGE_TYPE_2D;
11478 params2DTo3D.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11479 params2DTo3D.src.image.extent = defaultHalfExtent;
11480 params2DTo3D.src.image.extent.depth = slicesLayers;
11481 params2DTo3D.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11482 params2DTo3D.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11516 params2DTo3D.src.image.extent, // VkExtent3D extent;
11531 params3DTo2D.src.image.imageType = VK_IMAGE_TYPE_3D;
11532 params3DTo2D.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11533 params3DTo2D.src.image.extent = defaultHalfExtent;
11534 params3DTo2D.src.image.extent.depth = slicesLayers;
11535 params3DTo2D.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11536 params3DTo2D.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11592 params2DTo3D.src.image.imageType = VK_IMAGE_TYPE_2D;
11593 params2DTo3D.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11594 params2DTo3D.src.image.extent = defaultHalfExtent;
11595 params2DTo3D.src.image.extent.depth = slicesLayers;
11596 params2DTo3D.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11597 params2DTo3D.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11659 paramsCubeToArray.src.image.createFlags = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
11660 paramsCubeToArray.src.image.imageType = VK_IMAGE_TYPE_2D;
11661 paramsCubeToArray.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11662 paramsCubeToArray.src.image.extent = defaultHalfExtent;
11663 paramsCubeToArray.src.image.extent.depth = arrayLayers;
11664 paramsCubeToArray.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11665 paramsCubeToArray.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11717 paramsCubeToArray.src.image.createFlags = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
11718 paramsCubeToArray.src.image.imageType = VK_IMAGE_TYPE_2D;
11719 paramsCubeToArray.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11720 paramsCubeToArray.src.image.extent = defaultHalfExtent;
11721 paramsCubeToArray.src.image.extent.depth = arrayLayers;
11722 paramsCubeToArray.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11723 paramsCubeToArray.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11774 paramsArrayToCube.src.image.createFlags = 0;
11775 paramsArrayToCube.src.image.imageType = VK_IMAGE_TYPE_2D;
11776 paramsArrayToCube.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11777 paramsArrayToCube.src.image.extent = defaultHalfExtent;
11778 paramsArrayToCube.src.image.extent.depth = arrayLayers;
11779 paramsArrayToCube.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11780 paramsArrayToCube.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11832 paramsArrayToCube.src.image.createFlags = 0;
11833 paramsArrayToCube.src.image.imageType = VK_IMAGE_TYPE_2D;
11834 paramsArrayToCube.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11835 paramsArrayToCube.src.image.extent = defaultHalfExtent;
11836 paramsArrayToCube.src.image.extent.depth = arrayLayers;
11837 paramsArrayToCube.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11838 paramsArrayToCube.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11889 paramsCubeToArray.src.image.createFlags = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
11890 paramsCubeToArray.src.image.imageType = VK_IMAGE_TYPE_2D;
11891 paramsCubeToArray.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11892 paramsCubeToArray.src.image.extent = defaultHalfExtent;
11893 paramsCubeToArray.src.image.extent.depth = arrayLayers;
11894 paramsCubeToArray.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11895 paramsCubeToArray.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
11947 paramsCubeToCube.src.image.createFlags = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
11948 paramsCubeToCube.src.image.imageType = VK_IMAGE_TYPE_2D;
11949 paramsCubeToCube.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
11950 paramsCubeToCube.src.image.extent = defaultHalfExtent;
11951 paramsCubeToCube.src.image.extent.depth = arrayLayers;
11952 paramsCubeToCube.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
11953 paramsCubeToCube.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12009 paramsArrayToArray.src.image.imageType = VK_IMAGE_TYPE_2D;
12010 paramsArrayToArray.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
12011 paramsArrayToArray.src.image.extent = defaultHalfExtent;
12012 paramsArrayToArray.src.image.extent.depth = arrayLayers;
12013 paramsArrayToArray.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12014 paramsArrayToArray.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12065 paramsArrayToArray.src.image.imageType = VK_IMAGE_TYPE_2D;
12066 paramsArrayToArray.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
12067 paramsArrayToArray.src.image.extent = defaultHalfExtent;
12068 paramsArrayToArray.src.image.extent.depth = arrayLayers;
12069 paramsArrayToArray.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12070 paramsArrayToArray.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12121 paramsArrayToArray.src.image.imageType = VK_IMAGE_TYPE_2D;
12122 paramsArrayToArray.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
12123 paramsArrayToArray.src.image.extent = defaultHalfExtent;
12124 paramsArrayToArray.src.image.extent.depth = arrayLayers;
12125 paramsArrayToArray.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12126 paramsArrayToArray.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12177 paramsArrayToArray.src.image.imageType = VK_IMAGE_TYPE_2D;
12178 paramsArrayToArray.src.image.format = VK_FORMAT_R8G8B8A8_UINT;
12179 paramsArrayToArray.src.image.extent = defaultHalfExtent;
12180 paramsArrayToArray.src.image.extent.depth = arrayLayers;
12181 paramsArrayToArray.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12182 paramsArrayToArray.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12233 paramsArrayToArray.src.image.imageType = VK_IMAGE_TYPE_2D;
12234 paramsArrayToArray.src.image.extent = defaultHalfExtent;
12235 paramsArrayToArray.src.image.extent.depth = arrayLayers;
12236 paramsArrayToArray.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12237 paramsArrayToArray.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12293 paramsArrayToArray.src.image.format = imageFormats[imageFormatsNdx];
12324 params.src.image.imageType = VK_IMAGE_TYPE_1D;
12325 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12326 params.src.image.extent = default1dExtent;
12327 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12328 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12354 params.src.image.imageType = VK_IMAGE_TYPE_1D;
12355 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12356 params.src.image.extent = default1dExtent;
12357 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12358 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12384 params.src.image.imageType = VK_IMAGE_TYPE_1D;
12385 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12386 params.src.image.extent = default1dExtent;
12387 params.src.image.extent.depth = arrayLayers;
12388 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12389 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12395 const int pixelSize = tcu::getPixelSize(mapVkFormat(params.src.image.format));
12426 params.src.image.imageType = VK_IMAGE_TYPE_1D;
12427 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12428 params.src.image.extent = default1dExtent;
12429 params.src.image.extent.depth = arrayLayers;
12430 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12431 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12437 const int pixelSize = tcu::getPixelSize(mapVkFormat(params.src.image.format));
12468 params.src.image.imageType = VK_IMAGE_TYPE_1D;
12469 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12470 params.src.image.extent = default1dExtent;
12471 params.src.image.extent.depth = layerCount;
12472 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12473 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12474 params.src.image.fillMode = FILL_MODE_RED;
12512 params.src.image.imageType = VK_IMAGE_TYPE_1D;
12513 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12514 params.src.image.extent = default1dExtent;
12515 params.src.image.extent.depth = layerCount;
12516 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12517 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12518 params.src.image.fillMode = FILL_MODE_RED;
12559 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12560 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12561 params.src.image.extent = defaultExtent;
12562 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12563 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12588 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12589 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12590 params.src.image.extent = defaultExtent;
12591 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12592 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12618 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12619 params.src.image.format = VK_FORMAT_R8_UNORM;
12620 params.src.image.extent = defaultExtent;
12621 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12622 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12647 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12648 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12649 params.src.image.extent = defaultExtent;
12650 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12651 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12657 const int pixelSize = tcu::getPixelSize(mapVkFormat(params.src.image.format));
12689 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12690 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12691 params.src.image.extent = defaultExtent;
12692 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12693 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12719 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12720 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12721 params.src.image.extent = defaultExtent;
12722 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12723 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12748 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12749 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12750 params.src.image.extent = defaultExtent;
12751 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12752 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
12778 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12779 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12780 params.src.image.extent = defaultHalfExtent;
12781 params.src.image.extent.depth = arrayLayers;
12782 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12783 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
12789 const int pixelSize = tcu::getPixelSize(mapVkFormat(params.src.image.format));
12819 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12820 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12821 params.src.image.extent = defaultHalfExtent;
12822 params.src.image.extent.depth = arrayLayers;
12823 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12824 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
12830 const int pixelSize = tcu::getPixelSize(mapVkFormat(params.src.image.format));
12859 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12860 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12861 params.src.image.extent = defaultHalfExtent;
12862 params.src.image.extent.depth = arrayLayers;
12863 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12864 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
12870 const int pixelSize = tcu::getPixelSize(mapVkFormat(params.src.image.format));
12900 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12901 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12902 params.src.image.extent = defaultHalfExtent;
12903 params.src.image.extent.depth = layerCount;
12904 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12905 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
12906 params.src.image.fillMode = FILL_MODE_RED;
12944 params.src.image.imageType = VK_IMAGE_TYPE_2D;
12945 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
12946 params.src.image.extent = defaultHalfExtent;
12947 params.src.image.extent.depth = layerCount;
12948 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
12949 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
12950 params.src.image.fillMode = FILL_MODE_RED;
13009 params.src.image.imageType = VK_IMAGE_TYPE_2D;
13010 params.src.image.extent = extent;
13011 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
13012 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
13020 params.src.image.format = *format;
13023 group->addChild(new CopyCompressedImageToBufferTestCase(testCtx, getCaseName(*format, params.src.image.extent, numLayers, "universal"), params));
13025 group->addChild(new CopyCompressedImageToBufferTestCase(testCtx, getCaseName(*format, params.src.image.extent, numLayers, "compute"), params));
13027 group->addChild(new CopyCompressedImageToBufferTestCase(testCtx, getCaseName(*format, params.src.image.extent, numLayers, "transfer"), params));
13136 params.src.buffer.size = (defaultHalfSize - 1u) * defaultSize + defaultHalfSize + defaultQuarterSize;
13142 params.src.buffer.size = defaultSize * defaultSize;
13200 params.src.buffer.size = defaultSize;
13230 params.src.buffer.size = bufferImageHeight;
13260 params.src.buffer.size = defaultSize * arrayLayers;
13302 params.src.buffer.size = defaultSize * layerCount;
13303 params.src.buffer.fillMode = FILL_MODE_RED;
13346 params.src.buffer.size = defaultSize * layerCount;
13347 params.src.buffer.fillMode = FILL_MODE_RED;
13390 params.src.buffer.size = defaultSize * arrayLayers;
13435 params.src.buffer.size = defaultSize * defaultSize;
13464 params.src.buffer.size = defaultSize * defaultSize;
13496 params.src.buffer.size = defaultSize * defaultSize;
13526 params.src.buffer.size = defaultSize * defaultSize;
13555 params.src.buffer.size = (defaultHalfSize - 1u) * defaultSize + defaultHalfSize;
13585 params.src.buffer.size = defaultSize * bufferImageHeight;
13614 params.src.buffer.size = (defaultHalfSize - 1u) * defaultSize + defaultHalfSize + defaultQuarterSize;
13644 params.src.buffer.size = defaultHalfSize * defaultHalfSize * arrayLayers;
13685 params.src.buffer.size = defaultHalfSize * bufferImageHeight * arrayLayers;
13725 params.src.buffer.size = defaultHalfSize * defaultHalfSize * arrayLayers;
13766 params.src.buffer.size = defaultHalfSize * defaultHalfSize * layerCount;
13767 params.src.buffer.fillMode = FILL_MODE_RED;
13810 params.src.buffer.size = defaultHalfSize * defaultHalfSize * layerCount;
13811 params.src.buffer.fillMode = FILL_MODE_RED;
13857 params.src.buffer.size = defaultSize;
13880 params.src.buffer.size = defaultQuarterSize;
13903 params.src.buffer.size = size;
13929 params.src.buffer.size = 32;
14005 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14006 const deInt32 imageDepth = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultSize : 1;
14007 params.src.image.extent = defaultExtent;
14009 params.src.image.extent.depth = imageDepth;
14038 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14046 params.src.image.extent = defaultExtent;
14048 params.src.image.extent.depth = layerCount;
14050 params.src.image.fillMode = FILL_MODE_RED;
14092 params.src.image.extent = defaultExtent;
14094 params.src.image.extent.depth = layerCount;
14133 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14134 const deInt32 imageDepth = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultSize : 1;
14135 params.src.image.extent = defaultExtent;
14137 params.src.image.extent.depth = imageDepth;
14166 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14167 const deInt32 imageDepth = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultSize : 1;
14168 params.src.image.extent = defaultExtent;
14170 params.src.image.extent.depth = imageDepth;
14199 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14200 const deInt32 imageDepth = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultSize : 1;
14201 params.src.image.extent = defaultExtent;
14203 params.src.image.extent.depth = imageDepth;
14232 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14233 DE_ASSERT(params.src.image.imageType == VK_IMAGE_TYPE_3D);
14234 params.src.image.extent = defaultExtent;
14236 params.src.image.extent.depth = defaultSize;
14265 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14266 const deInt32 imageDepth = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultSize : 1;
14267 params.src.image.extent = defaultExtent;
14269 params.src.image.extent.depth = imageDepth;
14364 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14365 const deInt32 imageDepth = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultSize : 1;
14366 const deInt32 halfImageDepth = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultHalfSize : 1;
14367 params.src.image.extent = defaultExtent;
14369 params.src.image.extent.depth = imageDepth;
14398 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14399 const deInt32 imageDepth = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultSize : 1;
14400 const deInt32 halfImageDepth = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultHalfSize : 1;
14401 params.src.image.extent = defaultHalfExtent;
14403 params.src.image.extent.depth = halfImageDepth;
14432 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14433 const deInt32 imageDepth = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultSize : 1;
14434 const deInt32 srcDepthOffset = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultQuarterSize : 0;
14435 const deInt32 srcDepthSize = params.src.image.imageType == VK_IMAGE_TYPE_3D ? defaultQuarterSize * 3 : 1;
14436 params.src.image.extent = defaultExtent;
14438 params.src.image.extent.depth = imageDepth;
14467 DE_ASSERT(params.src.image.imageType == params.dst.image.imageType);
14468 const bool is3dBlit = params.src.image.imageType == VK_IMAGE_TYPE_3D;
14469 params.src.image.extent = defaultExtent;
14474 params.src.image.extent.depth = defaultSize;
14507 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
14508 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
14509 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
14514 params.src.image.imageType = VK_IMAGE_TYPE_2D;
14527 params.src.image.imageType = VK_IMAGE_TYPE_3D;
14581 de::contains(dedicatedAllocationBlittingFormatsToTestSet, testParams.params.src.image.format);
14676 testParams.params.src.image.tiling = blitSrcTilings[srcTilingNdx];
14680 testParams.params.src.image.operationLayout = blitSrcLayouts[srcLayoutNdx];
14683 if (testParams.params.src.image.tiling == VK_IMAGE_TILING_LINEAR && testParams.params.src.image.operationLayout == VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL)
14698 if ((testParams.params.dst.image.tiling == VK_IMAGE_TILING_LINEAR && !de::contains(linearOtherImageFormatsToTestSet, testParams.params.src.image.format)) ||
14699 (testParams.params.src.image.tiling == VK_IMAGE_TILING_LINEAR && !de::contains(linearOtherImageFormatsToTestSet, testParams.params.dst.image.format)))
14703 const std::string testName = getBlitImageTilingLayoutCaseName(testParams.params.src.image.tiling, testParams.params.src.image.operationLayout) + "_" +
14719 if ((testParams.params.src.image.imageType == VK_IMAGE_TYPE_3D) && !isCompressedFormat(testParams.params.src.image.format))
14737 otherParams.params.src.image.fillMode = modeList[i].mode;
14754 VkFormat srcFormat = testParams.params.src.image.format;
14952 params.src.image.imageType = VK_IMAGE_TYPE_2D;
14954 params.src.image.extent = defaultExtent;
14956 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
14978 params.src.image.format = srcFormat;
14980 const bool onlyNearestAndLinear = de::contains(onlyNearestAndLinearFormatsToTest, params.src.image.format);
14990 VkExtent3D& srcImageExtent = params.src.image.extent;
15004 addTestGroup(subGroup.get(), getFormatCaseName(params.src.image.format), addBlittingImageAllFormatsColorSrcFormatTests, testParams);
15016 params.src.image.imageType = VK_IMAGE_TYPE_1D;
15018 params.src.image.extent = default1dExtent;
15020 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
15071 params.src.image.format = sourceFormats[srcFormatIndex];
15072 if (!isSupportedByFramework(params.src.image.format))
15085 addTestGroup(subGroup.get(), getFormatCaseName(params.src.image.format), addBlittingImageAllFormatsColorSrcFormatTests, testParams);
15097 params.src.image.imageType = VK_IMAGE_TYPE_3D;
15099 params.src.image.extent = default3dExtent;
15101 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
15152 params.src.image.format = sourceFormats[srcFormatIndex];
15153 if (!isSupportedByFramework(params.src.image.format))
15166 addTestGroup(subGroup.get(), getFormatCaseName(params.src.image.format), addBlittingImageAllFormatsColorSrcFormatTests, testParams);
15189 params.src.image.operationLayout = blitSrcLayouts[srcLayoutNdx];
15196 const std::string testName = getImageLayoutCaseName(params.src.image.operationLayout) + "_" +
15228 params.src.image.imageType = VK_IMAGE_TYPE_2D;
15229 params.src.image.extent = defaultExtent;
15230 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
15231 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
15234 params.dst.image.format = params.src.image.format;
15239 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
15240 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
15322 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
15328 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" +
15344 params.src.image.imageType = VK_IMAGE_TYPE_1D;
15346 params.src.image.extent = default1dExtent;
15348 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
15349 params.dst.image.format = params.src.image.format;
15350 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
15355 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
15356 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
15438 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
15444 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" +
15460 params.src.image.imageType = VK_IMAGE_TYPE_3D;
15462 params.src.image.extent = default3dExtent;
15464 params.src.image.format = depthAndStencilFormats[compatibleFormatsIndex];
15465 params.dst.image.format = params.src.image.format;
15466 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
15471 bool hasDepth = tcu::hasDepthComponent(mapVkFormat(params.src.image.format).order);
15472 bool hasStencil = tcu::hasStencilComponent(mapVkFormat(params.src.image.format).order);
15554 const std::string testName = getFormatCaseName(params.src.image.format) + "_" + getFormatCaseName(params.dst.image.format);
15560 const std::string testName2 = getFormatCaseName(params.src.image.format) + "_" +
15587 testParams.params.src.image.operationLayout = blitSrcLayouts[srcLayoutNdx];
15593 const std::string testName = getImageLayoutCaseName(testParams.params.src.image.operationLayout) + "_" +
15635 params.src.image.imageType = VK_IMAGE_TYPE_2D;
15636 params.src.image.extent = defaultExtent;
15637 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
15692 params.src.image.format = compatibleFormats[srcFormatIndex];
15695 if (!isSupportedByFramework(params.src.image.format))
15698 const bool onlyNearestAndLinear = de::contains(onlyNearestAndLinearFormatsToTest, params.src.image.format);
15705 testParams.params.src.image.extent.depth = layerCount;
15714 addTestGroup(layerCountGroup.get(), getFormatCaseName(params.src.image.format), addBlittingImageAllFormatsMipmapFormatTests, testParams);
15744 params.src.image.imageType = VK_IMAGE_TYPE_2D;
15745 params.src.image.extent = defaultExtent;
15746 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
15804 params.src.image.format = compatibleFormats[srcFormatIndex];
15807 if (!isSupportedByFramework(params.src.image.format))
15810 const bool onlyNearestAndLinear = de::contains(onlyNearestAndLinearFormatsToTest, params.src.image.format);
15817 testParams.params.src.image.extent.depth = layerCount;
15826 addTestGroup(layerCountGroup.get(), getFormatCaseName(params.src.image.format), addBlittingImageAllFormatsMipmapFormatTests, testParams);
15850 params.src.image.format = compatibleFormatsUInts[srcFormatIndex];
15853 if (!isSupportedByFramework(params.src.image.format))
15861 testParams.params.src.image.extent.depth = layerCount;
15870 addTestGroup(barrierCountGroup.get(), getFormatCaseName(params.src.image.format), addBlittingImageAllFormatsMipmapFormatTests, testParams);
15911 params.src.image.imageType = VK_IMAGE_TYPE_2D;
15912 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
15913 params.src.image.extent = resolveExtent;
15914 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
15915 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
15961 params.src.image.imageType = VK_IMAGE_TYPE_2D;
15962 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
15963 params.src.image.extent = resolveExtent;
15964 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
15965 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16011 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16012 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16013 params.src.image.extent = resolveExtent;
16014 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
16015 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16061 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16062 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16063 params.src.image.extent = defaultExtent;
16064 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
16065 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16115 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16116 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16117 params.src.image.extent = defaultExtent;
16118 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
16119 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16165 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16166 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16167 params.src.image.extent = defaultExtent;
16168 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
16169 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16216 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16217 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16218 params.src.image.extent = defaultExtent;
16219 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
16220 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16267 params.src.image.operationLayout = imageLayouts[srcLayoutIndex].layout;
16269 if (params.src.image.operationLayout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL ||
16286 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16287 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16288 params.src.image.extent = defaultExtent;
16289 params.src.image.extent.depth = 5u;
16290 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
16291 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16301 for (deUint32 layerNdx=0; layerNdx < params.src.image.extent.depth; ++layerNdx)
16340 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16341 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16342 params.src.image.extent = resolveExtent;
16343 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
16344 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16353 int32_t imageHalfWidth = getExtent3D(params.src.image).width / 2;
16354 int32_t imageHalfHeight = getExtent3D(params.src.image).height / 2;
16420 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16421 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16422 params.src.image.extent = defaultExtent;
16423 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
16424 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16475 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16476 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16477 params.src.image.extent = defaultExtent;
16478 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16524 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16525 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16526 params.src.image.extent = defaultExtent;
16527 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16574 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16575 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16576 params.src.image.extent = defaultExtent;
16577 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16625 params.src.image.imageType = VK_IMAGE_TYPE_2D;
16626 params.src.image.format = VK_FORMAT_R8G8B8A8_UNORM;
16627 params.src.image.tiling = VK_IMAGE_TILING_OPTIMAL;
16628 params.src.image.operationLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
16667 params.src.image.extent = srcImageSize;
16681 params.src.image.extent = resolveExtent;