MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / TEST_F

Function TEST_F

tests/unit/memory.cpp:25–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23class NegativeMemory : public VkLayerTest {};
24
25TEST_F(NegativeMemory, MemoryDecompressionEnabled) {
26 TEST_DESCRIPTION("Validate memoryDecompression feature is enabled");
27 AddRequiredExtensions(VK_EXT_MEMORY_DECOMPRESSION_EXTENSION_NAME);
28 AddRequiredExtensions(VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME);
29 AddRequiredFeature(vkt::Feature::bufferDeviceAddress);
30 RETURN_IF_SKIP(Init());
31 VkPhysicalDeviceMemoryDecompressionPropertiesEXT mem_decomp_props_sao = vku::InitStructHelper();
32 GetPhysicalDeviceProperties2(mem_decomp_props_sao);
33 if ((mem_decomp_props_sao.decompressionMethods & VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_EXT) == 0) {
34 GTEST_SKIP() << "GDeflate decompression method not supported";
35 }
36
37 VkDeviceSize buffer_size = 1024;
38 VkDeviceSize decompressed_size = 2048;
39
40 vkt::Buffer src_buffer(*m_device, buffer_size, 0, vkt::device_address);
41 vkt::Buffer dst_buffer(*m_device, decompressed_size, 0, vkt::device_address);
42
43 VkDecompressMemoryRegionEXT decompress_region = {};
44 decompress_region.srcAddress = src_buffer.Address();
45 decompress_region.dstAddress = dst_buffer.Address();
46 decompress_region.compressedSize = buffer_size;
47 decompress_region.decompressedSize = decompressed_size;
48
49 VkDecompressMemoryInfoEXT decompress_info = vku::InitStructHelper();
50 decompress_info.decompressionMethod = VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_EXT;
51 decompress_info.regionCount = 1;
52 decompress_info.pRegions = &decompress_region;
53
54 m_command_buffer.Begin();
55 m_errorMonitor->SetDesiredError("VUID-vkCmdDecompressMemoryEXT-memoryDecompression-11761");
56 vk::CmdDecompressMemoryEXT(m_command_buffer, &decompress_info);
57 m_errorMonitor->VerifyFound();
58 m_command_buffer.End();
59}
60
61TEST_F(NegativeMemory, MemoryDecompressionIndirectAddressUnaligned) {
62 AddRequiredExtensions(VK_EXT_MEMORY_DECOMPRESSION_EXTENSION_NAME);

Callers

nothing calls this directly

Calls 15

CmdDecompressMemoryEXTFunction · 0.85
MapMemoryFunction · 0.85
UnmapMemoryFunction · 0.85
FlushMappedMemoryRangesFunction · 0.85
MapMemory2KHRFunction · 0.85
UnmapMemory2KHRFunction · 0.85
BindImageMemoryFunction · 0.85

Tested by

no test coverage detected