Lines Matching defs:const

78 static const char* const s_perVertexBlock =	"gl_PerVertex {\n"
82 static const SyncInfo emptySyncInfo =
116 virtual void recordCommands (OperationContext& context, const VkCommandBuffer cmdBuffer, const VkDescriptorSet descriptorSet) = 0;
127 const DeviceInterface& vk = context.getDeviceInterface();
128 const VkDevice device = context.getDevice();
143 const VkDeviceSize vertexDataSizeBytes = m_vertexData.size() * sizeof(m_vertexData[0]);
149 const Allocation& alloc = m_vertexBuffer->getAllocation();
158 const VkDeviceSize indexBufferSizeBytes = sizeof(deUint32) * m_vertexData.size();
159 const deUint32 numIndices = static_cast<deUint32>(m_vertexData.size());
164 const Allocation& alloc = m_indexBuffer->getAllocation();
165 deUint32* const pData = static_cast<deUint32*>(alloc.getHostPtr());
175 VkFormat getVertexFormat (void) const { return m_vertexFormat; }
176 deUint32 getVertexStride (void) const { return m_vertexStride; }
177 VkIndexType getIndexType (void) const { return VK_INDEX_TYPE_UINT32; }
178 deUint32 getNumVertices (void) const { return static_cast<deUint32>(m_vertexData.size()); }
179 deUint32 getNumIndices (void) const { return getNumVertices(); }
180 VkBuffer getVertexBuffer (void) const { return **m_vertexBuffer; }
181 VkBuffer getIndexBuffer (void) const { return **m_indexBuffer; }
184 const VkFormat m_vertexFormat;
185 const deUint32 m_vertexStride;
192 VkShaderStageFlags getRequiredStages (const VkShaderStageFlagBits stage)
214 void requireFeaturesForSSBOAccess (OperationContext& context, const VkShaderStageFlags usedStages)
216 const InstanceInterface& vki = context.getInstanceInterface();
217 const VkPhysicalDevice physDevice = context.getPhysicalDevice();
235 Data getHostBufferData (const OperationContext& context, const Buffer& hostBuffer, const VkDeviceSize size)
237 const DeviceInterface& vk = context.getDeviceInterface();
238 const VkDevice device = context.getDevice();
239 const Allocation& alloc = hostBuffer.getAllocation();
240 const Data data =
243 static_cast<deUint8*>(alloc.getHostPtr()), // const deUint8* data;
251 void setHostBufferData (const OperationContext& context, const Buffer& hostBuffer, const Data& data)
253 const DeviceInterface& vk = context.getDeviceInterface();
254 const VkDevice device = context.getDevice();
255 const Allocation& alloc = hostBuffer.getAllocation();
261 void assertValidShaderStage (const VkShaderStageFlagBits stage)
280 VkPipelineStageFlags pipelineStageFlagsFromShaderStageFlagBits (const VkShaderStageFlagBits shaderStage)
299 void fillPattern (void* const pData, const VkDeviceSize size, bool useIndexPattern = false)
303 static const deUint8 primePattern[] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 };
304 static const deUint32 indexPattern[] = { 0, 1, 2, 3, 4 };
306 const deUint8* pattern = (useIndexPattern ? reinterpret_cast<const deUint8*>(indexPattern)
308 const deUint32 patternSize = static_cast<deUint32>(useIndexPattern
311 deUint8* const pBytes = static_cast<deUint8*>(pData);
318 VkDeviceSize getPixelBufferSize (const VkFormat format, const VkExtent3D& extent)
320 const int pixelSize = tcu::getPixelSize(mapVkFormat(format));
325 VkExtent3D get2DImageExtentWithSize (const VkDeviceSize sizeBytes, const deUint32 pixelSize)
327 const deUint32 size = static_cast<deUint32>(sizeBytes / pixelSize);
337 VkClearValue makeClearValue (const VkFormat format)
350 void clearPixelBuffer (tcu::PixelBufferAccess& pixels, const VkClearValue& clearValue)
352 const tcu::TextureFormat format = pixels.getFormat();
353 const tcu::TextureChannelClass channelClass = tcu::getTextureChannelClass(format.type);
381 const tcu::UVec4 color (clearValue.color.uint32);
390 const tcu::Vec4 color (clearValue.color.float32);
399 VkImageViewType getImageViewType (const VkImageType imageType)
413 std::string getShaderImageType (const VkFormat format, const VkImageType imageType)
415 const tcu::TextureFormat texFormat = mapVkFormat(format);
416 const std::string formatPart = tcu::getTextureChannelClass(texFormat.type) == tcu::TEXTURECHANNELCLASS_UNSIGNED_INTEGER ? "u" :
430 std::string getShaderImageFormatQualifier (const VkFormat format)
432 const tcu::TextureFormat texFormat = mapVkFormat(format);
433 const char* orderPart = DE_NULL;
434 const char* typePart = DE_NULL;
488 Implementation (OperationContext& context, Resource& resource, const BufferOp bufferOp)
501 const std::size_t size = m_data.size() / sizeof(m_fillValue);
502 deUint32* const pData = reinterpret_cast<deUint32*>(&m_data[0]);
517 void recordCommands (const VkCommandBuffer cmdBuffer)
519 const DeviceInterface& vk = m_context.getDeviceInterface();
526 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
542 SyncInfo getInSyncInfo (void) const
547 SyncInfo getOutSyncInfo (void) const
549 const SyncInfo syncInfo =
559 Data getData (void) const
561 const Data data =
564 &m_data[0], // const deUint8* data;
569 void setData (const Data& data)
578 const deUint32 m_fillValue;
579 const BufferOp m_bufferOp;
585 Support (const ResourceDescription& resourceDesc, const BufferOp bufferOp)
593 deUint32 getInResourceUsageFlags (void) const
598 deUint32 getOutResourceUsageFlags (void) const
603 VkQueueFlags getQueueFlags (const OperationContext& context) const
613 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
618 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
625 const ResourceDescription m_resourceDesc;
626 const BufferOp m_bufferOp;
637 Implementation (OperationContext& context, Resource& resource, const AccessMode mode)
642 const DeviceInterface& vk = m_context.getDeviceInterface();
643 const VkDevice device = m_context.getDevice();
645 const VkBufferUsageFlags hostBufferUsage = (m_mode == ACCESS_MODE_READ ? VK_BUFFER_USAGE_TRANSFER_DST_BIT : VK_BUFFER_USAGE_TRANSFER_SRC_BIT);
649 const Allocation& alloc = m_hostBuffer->getAllocation();
659 void recordCommands (const VkCommandBuffer cmdBuffer)
661 const DeviceInterface& vk = m_context.getDeviceInterface();
662 const VkBufferCopy copyRegion = makeBufferCopy(0u, 0u, m_resource.getBuffer().size);
670 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
685 //const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
701 SyncInfo getInSyncInfo (void) const
703 const VkAccessFlags access = (m_mode == ACCESS_MODE_READ ? VK_ACCESS_2_TRANSFER_READ_BIT_KHR : 0);
704 const SyncInfo syncInfo =
713 SyncInfo getOutSyncInfo (void) const
715 const VkAccessFlags access = (m_mode == ACCESS_MODE_WRITE ? VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR : 0);
716 const SyncInfo syncInfo =
725 Data getData (void) const
730 void setData (const Data& data)
739 const AccessMode m_mode;
746 Support (const ResourceDescription& resourceDesc, const AccessMode mode)
753 deUint32 getInResourceUsageFlags (void) const
758 deUint32 getOutResourceUsageFlags (void) const
763 VkQueueFlags getQueueFlags (const OperationContext& context) const
769 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
774 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
781 const AccessMode m_mode;
794 void recordCommands (const VkCommandBuffer cmdBuffer)
796 const DeviceInterface& vk = m_context.getDeviceInterface();
797 const VkBufferCopy copyRegion = makeBufferCopy(0u, 0u, m_inResource.getBuffer().size);
802 SyncInfo getInSyncInfo (void) const
804 const SyncInfo syncInfo =
813 SyncInfo getOutSyncInfo (void) const
815 const SyncInfo syncInfo =
824 Data getData (void) const
830 void setData (const Data&)
845 CopySupport (const ResourceDescription& resourceDesc)
851 deUint32 getInResourceUsageFlags (void) const
856 deUint32 getOutResourceUsageFlags (void) const
861 VkQueueFlags getQueueFlags (const OperationContext& context) const
867 de::MovePtr<Operation> build (OperationContext&, Resource&) const
873 de::MovePtr<Operation> build (OperationContext& context, Resource& inResource, Resource& outResource) const
888 virtual void recordCopyCommand (const VkCommandBuffer cmdBuffer) = 0;
891 virtual VkPipelineStageFlags2KHR getReadSrcStageMask() const = 0;
893 ImplementationBase (OperationContext& context, Resource& resource, const AccessMode mode)
899 const DeviceInterface& vk = m_context.getDeviceInterface();
900 const VkDevice device = m_context.getDevice();
907 const Allocation& alloc = m_hostBuffer->getAllocation();
915 const auto& imgResource = m_resource.getImage();
923 void recordCommands (const VkCommandBuffer cmdBuffer)
925 const DeviceInterface& vk = m_context.getDeviceInterface();
926 const VkBufferImageCopy bufferCopyRegion = makeBufferImageCopy(m_resource.getImage().extent, m_resource.getImage().subresourceLayers);
931 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
951 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
968 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
987 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
1003 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
1022 SyncInfo getInSyncInfo (void) const
1024 const VkAccessFlags2KHR access = (m_mode == ACCESS_MODE_READ ? VK_ACCESS_2_TRANSFER_READ_BIT_KHR : VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR);
1025 const VkImageLayout layout = (m_mode == ACCESS_MODE_READ ? VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL : VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
1026 const SyncInfo syncInfo =
1035 SyncInfo getOutSyncInfo (void) const
1037 const VkAccessFlags2KHR access = (m_mode == ACCESS_MODE_READ ? VK_ACCESS_2_TRANSFER_READ_BIT_KHR : VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR);
1038 const VkImageLayout layout = (m_mode == ACCESS_MODE_READ ? VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL : VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
1039 const SyncInfo syncInfo =
1048 Data getData (void) const
1053 void setData (const Data& data)
1062 const AccessMode m_mode;
1063 const VkDeviceSize m_bufferSize;
1068 VkOffset3D makeExtentOffset (const Resource& resource)
1071 const VkExtent3D extent = resource.getImage().extent;
1084 VkImageBlit makeBlitRegion (const Resource& resource)
1086 const VkImageBlit blitRegion =
1099 BlitImplementation (OperationContext& context, Resource& resource, const AccessMode mode)
1103 const InstanceInterface& vki = m_context.getInstanceInterface();
1104 const VkPhysicalDevice physDevice = m_context.getPhysicalDevice();
1105 const auto& imgResource = m_resource.getImage();
1106 const VkFormatProperties formatProps = getPhysicalDeviceFormatProperties(vki, physDevice, imgResource.format);
1107 const auto& features = ((imgResource.tiling == VK_IMAGE_TILING_LINEAR) ? formatProps.linearTilingFeatures : formatProps.optimalTilingFeatures);
1108 const VkFormatFeatureFlags requiredFlags = (VK_FORMAT_FEATURE_BLIT_SRC_BIT | VK_FORMAT_FEATURE_BLIT_DST_BIT);
1115 void recordCopyCommand (const VkCommandBuffer cmdBuffer)
1117 const DeviceInterface& vk = m_context.getDeviceInterface();
1133 VkPipelineStageFlags2KHR getReadSrcStageMask() const
1140 const VkImageBlit m_blitRegion;
1144 ImageCopyOrResolve makeImageRegion (const Resource& resource)
1159 CopyImplementation (OperationContext& context, Resource& resource, const AccessMode mode)
1165 void recordCopyCommand (const VkCommandBuffer cmdBuffer)
1167 const DeviceInterface& vk = m_context.getDeviceInterface();
1181 VkPipelineStageFlags2KHR getReadSrcStageMask() const
1187 const VkImageCopy m_imageCopyRegion;
1193 ResolveImplementation(OperationContext& context, Resource& resource, const AccessMode mode)
1200 void recordCopyCommand(const VkCommandBuffer cmdBuffer)
1202 const DeviceInterface& vk = m_context.getDeviceInterface();
1208 VkPipelineStageFlags2KHR getReadSrcStageMask() const
1227 Support (const ResourceDescription& resourceDesc, const Type type, const AccessMode mode)
1233 const bool isDepthStencil = isDepthStencilFormat(resourceDesc.imageFormat);
1240 deUint32 getInResourceUsageFlags (void) const
1245 deUint32 getOutResourceUsageFlags (void) const
1250 VkQueueFlags getQueueFlags (const OperationContext& context) const
1256 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
1266 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
1273 const Type m_type;
1274 const AccessMode m_mode;
1290 const InstanceInterface& vki = m_context.getInstanceInterface();
1291 const VkPhysicalDevice physDevice = m_context.getPhysicalDevice();
1292 const auto& imgResource = m_inResource.getImage();
1293 const VkFormatProperties formatProps = getPhysicalDeviceFormatProperties(vki, physDevice, imgResource.format);
1294 const auto& features = ((imgResource.tiling == VK_IMAGE_TILING_LINEAR) ? formatProps.linearTilingFeatures : formatProps.optimalTilingFeatures);
1295 const VkFormatFeatureFlags requiredFlags = (VK_FORMAT_FEATURE_BLIT_SRC_BIT | VK_FORMAT_FEATURE_BLIT_DST_BIT);
1302 void recordCommands (const VkCommandBuffer cmdBuffer)
1304 const DeviceInterface& vk = m_context.getDeviceInterface();
1308 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
1328 SyncInfo getInSyncInfo (void) const
1330 const SyncInfo syncInfo =
1339 SyncInfo getOutSyncInfo (void) const
1341 const SyncInfo syncInfo =
1350 Data getData (void) const
1356 void setData (const Data&)
1365 const VkImageBlit m_blitRegion;
1381 void recordCommands (const VkCommandBuffer cmdBuffer)
1383 const DeviceInterface& vk = m_context.getDeviceInterface();
1387 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
1407 SyncInfo getInSyncInfo (void) const
1409 const SyncInfo syncInfo =
1418 SyncInfo getOutSyncInfo (void) const
1420 const SyncInfo syncInfo =
1429 Data getData (void) const
1435 void setData (const Data&)
1444 const VkImageCopy m_imageCopyRegion;
1450 CopySupport (const ResourceDescription& resourceDesc, const Type type)
1455 const bool isDepthStencil = isDepthStencilFormat(resourceDesc.imageFormat);
1462 deUint32 getInResourceUsageFlags (void) const
1467 deUint32 getOutResourceUsageFlags (void) const
1472 VkQueueFlags getQueueFlags (const OperationContext& context) const
1478 de::MovePtr<Operation> build (OperationContext&, Resource&) const
1484 de::MovePtr<Operation> build (OperationContext& context, Resource& inResource, Resource& outResource) const
1493 const Type m_type;
1511 GraphicsPipeline (OperationContext& context, const VkShaderStageFlagBits stage, const std::string& shaderPrefix, const VkDescriptorSetLayout descriptorSetLayout)
1514 const DeviceInterface& vk = context.getDeviceInterface();
1515 const VkDevice device = context.getDevice();
1517 const VkShaderStageFlags requiredStages = getRequiredStages(stage);
1556 void recordCommands (OperationContext& context, const VkCommandBuffer cmdBuffer, const VkDescriptorSet descriptorSet)
1558 const DeviceInterface& vk = context.getDeviceInterface();
1563 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
1578 const VkRect2D renderArea = makeRect2D(m_colorImageExtent);
1579 const tcu::Vec4 clearColor = tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f);
1587 const VkDeviceSize vertexBufferOffset = 0ull;
1588 const VkBuffer vertexBuffer = m_vertices.getVertexBuffer();
1597 const VertexGrid m_vertices;
1612 ComputePipeline (OperationContext& context, const DispatchCall dispatchCall, const std::string& shaderPrefix, const VkDescriptorSetLayout descriptorSetLayout)
1615 const DeviceInterface& vk = context.getDeviceInterface();
1616 const VkDevice device = context.getDevice();
1624 const Allocation& alloc = m_indirectBuffer->getAllocation();
1625 VkDispatchIndirectCommand* const pIndirectCommand = static_cast<VkDispatchIndirectCommand*>(alloc.getHostPtr());
1634 const Unique<VkShaderModule> shaderModule(createShaderModule(vk, device, context.getBinaryCollection().get(shaderPrefix + "comp"), (VkShaderModuleCreateFlags)0));
1640 void recordCommands (OperationContext& context, const VkCommandBuffer cmdBuffer, const VkDescriptorSet descriptorSet)
1642 const DeviceInterface& vk = context.getDeviceInterface();
1654 const DispatchCall m_dispatchCall;
1666 const VkShaderStageFlagBits stage,
1667 const BufferType bufferType,
1668 const std::string& shaderPrefix,
1669 const AccessMode mode,
1670 const bool specializedAccess,
1671 const PipelineType pipelineType,
1672 const DispatchCall dispatchCall)
1684 const DeviceInterface& vk = m_context.getDeviceInterface();
1685 const VkDevice device = m_context.getDevice();
1693 const Allocation& alloc = m_hostBuffer->getAllocation();
1725 const VkDescriptorBufferInfo bufferInfo = makeDescriptorBufferInfo(m_resource.getBuffer().handle, m_resource.getBuffer().offset, m_resource.getBuffer().size);
1726 const VkDescriptorBufferInfo hostBufferInfo = makeDescriptorBufferInfo(**m_hostBuffer, 0u, m_resource.getBuffer().size);
1735 const VkDescriptorBufferInfo hostBufferInfo = makeDescriptorBufferInfo(**m_hostBuffer, 0u, m_resource.getBuffer().size);
1744 const VkDescriptorBufferInfo bufferInfo = makeDescriptorBufferInfo(m_resource.getBuffer().handle, m_resource.getBuffer().offset, m_resource.getBuffer().size);
1745 const VkDescriptorBufferInfo hostBufferInfo = makeDescriptorBufferInfo(**m_hostBuffer, 0u, m_resource.getBuffer().size);
1758 void recordCommands (const VkCommandBuffer cmdBuffer)
1766 const DeviceInterface& vk = m_context.getDeviceInterface();
1770 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
1784 SyncInfo getInSyncInfo (void) const
1816 const SyncInfo syncInfo =
1825 SyncInfo getOutSyncInfo (void) const
1837 const SyncInfo syncInfo =
1846 Data getData (void) const
1851 void setData (const Data& data)
1862 const VkShaderStageFlagBits m_stage;
1863 const VkPipelineStageFlags m_pipelineStage;
1864 const BufferType m_bufferType;
1865 const AccessMode m_mode;
1866 const DispatchCall m_dispatchCall;
1880 const VkShaderStageFlagBits stage,
1881 const std::string& shaderPrefix,
1882 const AccessMode mode,
1883 const bool specializedAccess,
1884 const PipelineType pipelineType,
1885 const DispatchCall dispatchCall)
1895 const DeviceInterface& vk = m_context.getDeviceInterface();
1896 const InstanceInterface& vki = m_context.getInstanceInterface();
1897 const VkDevice device = m_context.getDevice();
1898 const VkPhysicalDevice physDevice = m_context.getPhysicalDevice();
1905 const auto& imgResource = m_resource.getImage();
1914 const Allocation& alloc = m_hostBuffer->getAllocation();
1941 const VkImageViewType viewType = getImageViewType(m_resource.getImage().imageType);
1961 const VkDescriptorImageInfo srcImageInfo = makeDescriptorImageInfo(DE_NULL, *m_srcImageView, VK_IMAGE_LAYOUT_GENERAL);
1962 const VkDescriptorImageInfo dstImageInfo = makeDescriptorImageInfo(DE_NULL, *m_dstImageView, VK_IMAGE_LAYOUT_GENERAL);
1975 void recordCommands (const VkCommandBuffer cmdBuffer)
1977 const DeviceInterface& vk = m_context.getDeviceInterface();
1978 const VkBufferImageCopy bufferCopyRegion = makeBufferImageCopy(m_resource.getImage().extent, m_resource.getImage().subresourceLayers);
1983 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
2002 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
2021 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
2046 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
2065 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
2080 SyncInfo getInSyncInfo (void) const
2092 const SyncInfo syncInfo =
2101 SyncInfo getOutSyncInfo (void) const
2113 const SyncInfo syncInfo =
2122 Data getData (void) const
2127 void setData (const Data& data)
2138 const VkShaderStageFlagBits m_stage;
2139 const VkPipelineStageFlags m_pipelineStage;
2140 const AccessMode m_mode;
2141 const DispatchCall m_dispatchCall;
2142 const VkDeviceSize m_hostBufferSizeBytes;
2145 const VkImage* m_srcImage;
2146 const VkImage* m_dstImage;
2158 const std::string& shaderPrefix,
2159 const std::string& declCode,
2160 const std::string& mainCode,
2161 const VkShaderStageFlagBits stage)
2163 const VkShaderStageFlags requiredStages = getRequiredStages(stage);
2309 BufferSupport (const ResourceDescription& resourceDesc,
2310 const BufferType bufferType,
2311 const AccessMode mode,
2312 const bool specializedAccess,
2313 const VkShaderStageFlagBits stage,
2314 const DispatchCall dispatchCall = DISPATCH_CALL_DISPATCH)
2333 void initPrograms (SourceCollections& programCollection) const
2348 const int numVecElements = static_cast<int>(m_resourceDesc.size.x() / sizeof(tcu::UVec4)); // std140 must be aligned to a multiple of 16
2380 deUint32 getInResourceUsageFlags (void) const
2390 deUint32 getOutResourceUsageFlags (void) const
2400 VkQueueFlags getQueueFlags (const OperationContext& context) const
2406 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
2414 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
2423 const ResourceDescription m_resourceDesc;
2424 const BufferType m_bufferType;
2425 const AccessMode m_mode;
2426 const VkShaderStageFlagBits m_stage;
2427 const std::string m_shaderPrefix;
2428 const DispatchCall m_dispatchCall;
2434 ImageSupport (const ResourceDescription& resourceDesc,
2435 const AccessMode mode,
2436 const bool specializedAccess,
2437 const VkShaderStageFlagBits stage,
2438 const DispatchCall dispatchCall = DISPATCH_CALL_DISPATCH)
2453 void initPrograms (SourceCollections& programCollection) const
2455 const std::string imageFormat = getShaderImageFormatQualifier(m_resourceDesc.imageFormat);
2456 const std::string imageType = getShaderImageType(m_resourceDesc.imageFormat, m_resourceDesc.imageType);
2481 deUint32 getInResourceUsageFlags (void) const
2486 deUint32 getOutResourceUsageFlags (void) const
2491 VkQueueFlags getQueueFlags (const OperationContext& context) const
2497 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
2505 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
2514 const ResourceDescription m_resourceDesc;
2515 const AccessMode m_mode;
2516 const VkShaderStageFlagBits m_stage;
2517 const std::string m_shaderPrefix;
2518 const DispatchCall m_dispatchCall;
2528 const VkShaderStageFlagBits stage,
2529 const BufferType bufferType,
2530 const std::string& shaderPrefix,
2531 const bool specializedAccess,
2532 const PipelineType pipelineType,
2533 const DispatchCall dispatchCall)
2545 const DeviceInterface& vk = m_context.getDeviceInterface();
2546 const VkDevice device = m_context.getDevice();
2550 const VkDescriptorType bufferDescriptorType = (m_bufferType == BUFFER_TYPE_UNIFORM ? VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER : VK_DESCRIPTOR_TYPE_STORAGE_BUFFER);
2564 const VkDescriptorBufferInfo inBufferInfo = makeDescriptorBufferInfo(m_inResource.getBuffer().handle, m_inResource.getBuffer().offset, m_inResource.getBuffer().size);
2565 const VkDescriptorBufferInfo outBufferInfo = makeDescriptorBufferInfo(m_outResource.getBuffer().handle, m_outResource.getBuffer().offset, m_outResource.getBuffer().size);
2578 void recordCommands (const VkCommandBuffer cmdBuffer)
2583 SyncInfo getInSyncInfo (void) const
2586 const SyncInfo syncInfo =
2595 SyncInfo getOutSyncInfo (void) const
2598 const SyncInfo syncInfo =
2607 Data getData (void) const
2613 void setData (const Data&)
2624 const VkShaderStageFlagBits m_stage;
2625 const VkPipelineStageFlags m_pipelineStage;
2626 const BufferType m_bufferType;
2627 const DispatchCall m_dispatchCall;
2637 CopyBufferSupport (const ResourceDescription& resourceDesc,
2638 const BufferType bufferType,
2639 const bool specializedAccess,
2640 const VkShaderStageFlagBits stage,
2641 const DispatchCall dispatchCall = DISPATCH_CALL_DISPATCH)
2657 void initPrograms (SourceCollections& programCollection) const
2661 const std::string bufferTypeStr = (m_bufferType == BUFFER_TYPE_UNIFORM ? "uniform" : "buffer");
2662 const int numVecElements = static_cast<int>(m_resourceDesc.size.x() / sizeof(tcu::UVec4)); // std140 must be aligned to a multiple of 16
2681 deUint32 getInResourceUsageFlags (void) const
2686 deUint32 getOutResourceUsageFlags (void) const
2691 VkQueueFlags getQueueFlags (const OperationContext& context) const
2697 de::MovePtr<Operation> build (OperationContext&, Resource&) const
2703 de::MovePtr<Operation> build (OperationContext& context, Resource& inResource, Resource& outResource) const
2714 const ResourceDescription m_resourceDesc;
2715 const BufferType m_bufferType;
2716 const VkShaderStageFlagBits m_stage;
2717 const std::string m_shaderPrefix;
2718 const DispatchCall m_dispatchCall;
2727 const VkShaderStageFlagBits stage,
2728 const std::string& shaderPrefix,
2729 const bool specializedAccess,
2730 const PipelineType pipelineType,
2731 const DispatchCall dispatchCall)
2740 const DeviceInterface& vk = m_context.getDeviceInterface();
2741 const InstanceInterface& vki = m_context.getInstanceInterface();
2742 const VkDevice device = m_context.getDevice();
2743 const VkPhysicalDevice physDevice = m_context.getPhysicalDevice();
2749 const auto& imgResource = m_inResource.getImage();
2754 const VkImageViewType viewType = getImageViewType(m_inResource.getImage().imageType);
2774 const VkDescriptorImageInfo srcImageInfo = makeDescriptorImageInfo(DE_NULL, *m_srcImageView, VK_IMAGE_LAYOUT_GENERAL);
2775 const VkDescriptorImageInfo dstImageInfo = makeDescriptorImageInfo(DE_NULL, *m_dstImageView, VK_IMAGE_LAYOUT_GENERAL);
2788 void recordCommands (const VkCommandBuffer cmdBuffer)
2791 const DeviceInterface& vk = m_context.getDeviceInterface();
2794 const VkImageMemoryBarrier2KHR imageMemoryBarriers2 = makeImageMemoryBarrier2(
2807 DE_NULL, // const void* pNext
2810 DE_NULL, // const VkMemoryBarrier2KHR* pMemoryBarriers
2812 DE_NULL, // const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers
2814 &imageMemoryBarriers2 // const VkImageMemoryBarrier2KHR* pImageMemoryBarriers
2823 SyncInfo getInSyncInfo (void) const
2826 const SyncInfo syncInfo =
2835 SyncInfo getOutSyncInfo (void) const
2838 const SyncInfo syncInfo =
2847 Data getData (void) const
2853 void setData (const Data&)
2864 const VkShaderStageFlagBits m_stage;
2865 const VkPipelineStageFlags m_pipelineStage;
2866 const DispatchCall m_dispatchCall;
2878 CopyImageSupport (const ResourceDescription& resourceDesc,
2879 const VkShaderStageFlagBits stage,
2880 const bool specializedAccess,
2881 const DispatchCall dispatchCall = DISPATCH_CALL_DISPATCH)
2894 void initPrograms (SourceCollections& programCollection) const
2896 const std::string imageFormat = getShaderImageFormatQualifier(m_resourceDesc.imageFormat);
2897 const std::string imageType = getShaderImageType(m_resourceDesc.imageFormat, m_resourceDesc.imageType);
2922 deUint32 getInResourceUsageFlags (void) const
2927 deUint32 getOutResourceUsageFlags (void) const
2932 VkQueueFlags getQueueFlags (const OperationContext& context) const
2938 de::MovePtr<Operation> build (OperationContext&, Resource&) const
2944 de::MovePtr<Operation> build (OperationContext& context, Resource& inResource, Resource& outResource) const
2955 const ResourceDescription m_resourceDesc;
2956 const VkShaderStageFlagBits m_stage;
2957 const std::string m_shaderPrefix;
2958 const DispatchCall m_dispatchCall;
2970 const DeviceInterface& vk = m_context.getDeviceInterface();
2971 const InstanceInterface& vki = m_context.getInstanceInterface();
2972 const VkDevice device = m_context.getDevice();
2973 const VkPhysicalDevice physDevice = m_context.getPhysicalDevice();
2974 const VkPhysicalDeviceFeatures features = getPhysicalDeviceFeatures(vki, physDevice);
2977 const auto& imgResource = m_resource.getImage();
2984 const Allocation& alloc = m_hostBuffer->getAllocation();
2988 const ImageResource& image = m_resource.getImage();
2989 const VkImageViewType viewType = getImageViewType(image.imageType);
3006 const VkDescriptorBufferInfo bufferInfo = makeDescriptorBufferInfo(**m_hostBuffer, 0u, m_hostBufferSizeBytes);
3007 const VkDescriptorImageInfo imageInfo = makeDescriptorImageInfo(DE_NULL, *m_imageView, VK_IMAGE_LAYOUT_GENERAL);
3016 const Unique<VkShaderModule> shaderModule(createShaderModule(vk, device, context.getBinaryCollection().get("comp"), (VkShaderModuleCreateFlags)0));
3021 void recordCommands(const VkCommandBuffer cmdBuffer)
3023 const DeviceInterface& vk = m_context.getDeviceInterface();
3028 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
3048 SyncInfo getInSyncInfo(void) const
3054 SyncInfo getOutSyncInfo(void) const
3064 Data getData(void) const
3069 void setData(const Data&)
3079 const VkDeviceSize m_hostBufferSizeBytes;
3092 MSImageSupport(const ResourceDescription& resourceDesc)
3098 void initPrograms (SourceCollections& programCollection) const
3121 deUint32 getInResourceUsageFlags (void) const
3126 deUint32 getOutResourceUsageFlags (void) const
3131 VkQueueFlags getQueueFlags (const OperationContext&) const
3136 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
3141 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
3148 const ResourceDescription m_resourceDesc;
3166 const DeviceInterface& vk = m_context.getDeviceInterface();
3167 const VkDevice device = m_context.getDevice();
3173 const Allocation& alloc = m_hostBuffer->getAllocation();
3178 void recordCommands (const VkCommandBuffer cmdBuffer)
3180 const DeviceInterface& vk = m_context.getDeviceInterface();
3181 const VkBufferImageCopy copyRegion = makeBufferImageCopy(m_resource.getImage().extent, m_resource.getImage().subresourceLayers);
3184 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
3200 SyncInfo getInSyncInfo (void) const
3205 SyncInfo getOutSyncInfo (void) const
3207 const SyncInfo syncInfo =
3216 Data getData (void) const
3221 void setData (const Data& data)
3230 const VkDeviceSize m_bufferSize;
3244 const DeviceInterface& vk = m_context.getDeviceInterface();
3245 const VkDevice device = m_context.getDevice();
3247 const VkFormat format = VK_FORMAT_R8G8B8A8_UNORM;
3248 const deUint32 pixelSize = tcu::getPixelSize(mapVkFormat(format));
3266 void recordCommands (const VkCommandBuffer cmdBuffer)
3268 const DeviceInterface& vk = m_context.getDeviceInterface();
3269 const VkBufferImageCopy copyRegion = makeBufferImageCopy(m_imageExtent, m_subresourceLayers);
3274 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
3291 const VkImageMemoryBarrier2KHR imageLayoutBarrier2 = makeImageMemoryBarrier2(
3306 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
3320 SyncInfo getInSyncInfo (void) const
3322 const SyncInfo syncInfo =
3331 SyncInfo getOutSyncInfo (void) const
3336 Data getData (void) const
3341 void setData (const Data& data)
3349 const VkImageSubresourceRange m_subresourceRange;
3350 const VkImageSubresourceLayers m_subresourceLayers;
3359 Support (const ResourceDescription& resourceDesc, const AccessMode mode)
3373 deUint32 getInResourceUsageFlags (void) const
3381 deUint32 getOutResourceUsageFlags (void) const
3389 VkQueueFlags getQueueFlags (const OperationContext& context) const
3395 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
3403 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
3410 const AccessMode m_mode;
3411 const enum ResourceType m_resourceType;
3412 const VkQueueFlags m_requiredQueueFlags;
3427 void recordCommands (const VkCommandBuffer cmdBuffer)
3429 const DeviceInterface& vk = m_context.getDeviceInterface();
3430 const VkBufferImageCopy copyRegion = makeBufferImageCopy(m_outResource.getImage().extent, m_outResource.getImage().subresourceLayers);
3433 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
3442 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
3458 SyncInfo getInSyncInfo (void) const
3460 const SyncInfo syncInfo =
3469 SyncInfo getOutSyncInfo (void) const
3471 const SyncInfo syncInfo =
3480 Data getData (void) const
3486 void setData (const Data&)
3500 CopySupport (const ResourceDescription& resourceDesc)
3506 deUint32 getInResourceUsageFlags (void) const
3514 deUint32 getOutResourceUsageFlags (void) const
3522 VkQueueFlags getQueueFlags (const OperationContext& context) const
3528 de::MovePtr<Operation> build (OperationContext&, Resource&) const
3534 de::MovePtr<Operation> build (OperationContext& context, Resource& inResource, Resource& outResource) const
3540 const enum ResourceType m_resourceType;
3541 const VkQueueFlags m_requiredQueueFlags;
3560 const DeviceInterface& vk = m_context.getDeviceInterface();
3561 const VkDevice device = m_context.getDevice();
3563 const VkFormat format = VK_FORMAT_R8G8B8A8_UNORM;
3564 const deUint32 pixelSize = tcu::getPixelSize(mapVkFormat(format));
3573 const Allocation& alloc = m_hostBuffer->getAllocation();
3585 void recordCommands (const VkCommandBuffer cmdBuffer)
3587 const DeviceInterface& vk = m_context.getDeviceInterface();
3588 const VkBufferImageCopy copyRegion = makeBufferImageCopy(m_imageExtent, m_subresourceLayers);
3593 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
3610 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
3627 SyncInfo getInSyncInfo (void) const
3632 SyncInfo getOutSyncInfo (void) const
3634 const SyncInfo syncInfo =
3643 Data getData (void) const
3648 void setData (const Data& data)
3656 const VkImageSubresourceRange m_subresourceRange;
3657 const VkImageSubresourceLayers m_subresourceLayers;
3673 const DeviceInterface& vk = m_context.getDeviceInterface();
3674 const VkDevice device = m_context.getDevice();
3680 const Allocation& alloc = m_hostBuffer->getAllocation();
3685 void recordCommands (const VkCommandBuffer cmdBuffer)
3687 const DeviceInterface& vk = m_context.getDeviceInterface();
3688 const VkBufferImageCopy copyRegion = makeBufferImageCopy(m_resource.getImage().extent, m_resource.getImage().subresourceLayers);
3695 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
3709 SyncInfo getInSyncInfo (void) const
3711 const SyncInfo syncInfo =
3720 SyncInfo getOutSyncInfo (void) const
3725 Data getData (void) const
3730 void setData (const Data&)
3739 const VkDeviceSize m_bufferSize;
3756 void recordCommands (const VkCommandBuffer cmdBuffer)
3758 const DeviceInterface& vk = m_context.getDeviceInterface();
3759 const VkBufferImageCopy copyRegion = makeBufferImageCopy(m_inResource.getImage().extent, m_subresourceLayers);
3763 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
3773 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
3789 SyncInfo getInSyncInfo (void) const
3791 const SyncInfo syncInfo =
3800 SyncInfo getOutSyncInfo (void) const
3802 const SyncInfo syncInfo =
3811 Data getData (void) const
3817 void setData (const Data&)
3826 const VkImageSubresourceRange m_subresourceRange;
3827 const VkImageSubresourceLayers m_subresourceLayers;
3833 Support (const ResourceDescription& resourceDesc, const AccessMode mode)
3842 deUint32 getInResourceUsageFlags (void) const
3847 deUint32 getOutResourceUsageFlags (void) const
3852 VkQueueFlags getQueueFlags (const OperationContext& context) const
3858 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
3866 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
3873 const AccessMode m_mode;
3874 const VkQueueFlags m_requiredQueueFlags;
3891 Implementation (OperationContext& context, Resource& resource, const ClearMode mode)
3897 const VkDeviceSize size = getPixelBufferSize(m_resource.getImage().format, m_resource.getImage().extent);
3898 const VkExtent3D& extent = m_resource.getImage().extent;
3899 const VkFormat format = m_resource.getImage().format;
3900 const tcu::TextureFormat texFormat = mapVkFormat(format);
3907 void recordCommands (const VkCommandBuffer cmdBuffer)
3909 const DeviceInterface& vk = m_context.getDeviceInterface();
3916 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
3935 SyncInfo getInSyncInfo (void) const
3940 SyncInfo getOutSyncInfo (void) const
3954 Data getData (void) const
3956 const Data data =
3959 &m_data[0], // const deUint8* data;
3964 void setData (const Data&)
3973 const VkClearValue m_clearValue;
3974 const ClearMode m_mode;
3980 Support (const ResourceDescription& resourceDesc, const ClearMode mode)
3990 deUint32 getInResourceUsageFlags (void) const
3995 deUint32 getOutResourceUsageFlags (void) const
4000 VkQueueFlags getQueueFlags (const OperationContext& context) const
4009 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
4014 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
4021 const ResourceDescription m_resourceDesc;
4022 const ClearMode m_mode;
4043 Implementation (OperationContext& context, Resource& resource, const DrawCall drawCall)
4049 const DeviceInterface& vk = context.getDeviceInterface();
4050 const VkDevice device = context.getDevice();
4060 const Allocation& alloc = m_indirectBuffer->getAllocation();
4061 VkDrawIndirectCommand* const pIndirectCommand = static_cast<VkDrawIndirectCommand*>(alloc.getHostPtr());
4075 const Allocation& alloc = m_indirectBuffer->getAllocation();
4076 VkDrawIndexedIndirectCommand* const pIndirectCommand = static_cast<VkDrawIndexedIndirectCommand*>(alloc.getHostPtr());
4117 void recordCommands (const VkCommandBuffer cmdBuffer)
4119 const DeviceInterface& vk = m_context.getDeviceInterface();
4124 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
4139 const VkRect2D renderArea = makeRect2D(m_attachmentExtent);
4140 const tcu::Vec4 clearColor = tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f);
4147 const VkDeviceSize vertexBufferOffset = 0ull;
4148 const VkBuffer vertexBuffer = m_vertices.getVertexBuffer();
4177 SyncInfo getInSyncInfo (void) const
4182 SyncInfo getOutSyncInfo (void) const
4184 const SyncInfo syncInfo =
4193 Data getData (void) const
4195 const Data data =
4198 &m_expectedData[0], // const deUint8* data;
4203 void setData (const Data& data)
4212 const DrawCall m_drawCall;
4213 const VertexGrid m_vertices;
4228 std::string toString (const T (&values)[N])
4239 Support (const ResourceDescription& resourceDesc, const DrawCall drawCall)
4247 void initPrograms (SourceCollections& programCollection) const
4268 const VkClearValue clearValue = makeClearValue(m_resourceDesc.imageFormat);
4269 const bool isIntegerFormat = isIntFormat(m_resourceDesc.imageFormat) || isUintFormat(m_resourceDesc.imageFormat);
4270 const std::string colorType = (isIntegerFormat ? "uvec4" : "vec4");
4286 deUint32 getInResourceUsageFlags (void) const
4291 deUint32 getOutResourceUsageFlags (void) const
4296 VkQueueFlags getQueueFlags (const OperationContext& context) const
4302 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
4307 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
4314 const ResourceDescription m_resourceDesc;
4315 const DrawCall m_drawCall;
4331 const DeviceInterface& vk = context.getDeviceInterface();
4332 const VkDevice device = context.getDevice();
4334 const VkDeviceSize size = getPixelBufferSize(m_resource.getImage().format, m_resource.getImage().extent);
4335 const VkExtent3D& extent = m_resource.getImage().extent;
4336 const VkFormat format = m_resource.getImage().format;
4337 const tcu::TextureFormat texFormat = mapVkFormat(format);
4338 const SyncInfo syncInfo = getOutSyncInfo();
4363 void recordCommands (const VkCommandBuffer cmdBuffer)
4365 const DeviceInterface& vk = m_context.getDeviceInterface();
4368 const VkImageMemoryBarrier imageBarrier =
4385 const VkClearAttachment clearAttachment =
4392 const VkRect2D rect2D = makeRect2D(m_resource.getImage().extent);
4394 const VkClearRect clearRect =
4406 SyncInfo getInSyncInfo (void) const
4411 SyncInfo getOutSyncInfo (void) const
4435 Data getData (void) const
4437 const Data data =
4440 &m_data[0], // const deUint8* data;
4445 void setData (const Data&)
4454 const VkClearValue m_clearValue;
4463 Support (const ResourceDescription& resourceDesc)
4469 deUint32 getInResourceUsageFlags (void) const
4474 deUint32 getOutResourceUsageFlags (void) const
4489 VkQueueFlags getQueueFlags (const OperationContext& context) const
4495 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
4500 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
4507 const ResourceDescription m_resourceDesc;
4519 const ResourceType resourceType,
4520 const VkBuffer indirectBuffer,
4521 const std::string& shaderPrefix,
4522 const VkDescriptorSetLayout descriptorSetLayout)
4527 const DeviceInterface& vk = context.getDeviceInterface();
4528 const VkDevice device = context.getDevice();
4558 void recordCommands (OperationContext& context, const VkCommandBuffer cmdBuffer, const VkDescriptorSet descriptorSet)
4560 const DeviceInterface& vk = context.getDeviceInterface();
4565 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
4580 const VkRect2D renderArea = makeRect2D(m_colorImageExtent);
4581 const tcu::Vec4 clearColor = tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f);
4589 const VkDeviceSize vertexBufferOffset = 0ull;
4590 const VkBuffer vertexBuffer = m_vertices.getVertexBuffer();
4613 const ResourceType m_resourceType;
4614 const VkBuffer m_indirectBuffer;
4615 const VertexGrid m_vertices;
4631 const VkBuffer indirectBuffer,
4632 const std::string& shaderPrefix,
4633 const VkDescriptorSetLayout descriptorSetLayout)
4636 const DeviceInterface& vk = context.getDeviceInterface();
4637 const VkDevice device = context.getDevice();
4639 const Unique<VkShaderModule> shaderModule(createShaderModule(vk, device, context.getBinaryCollection().get(shaderPrefix + "comp"), (VkShaderModuleCreateFlags)0));
4645 void recordCommands (OperationContext& context, const VkCommandBuffer cmdBuffer, const VkDescriptorSet descriptorSet)
4647 const DeviceInterface& vk = context.getDeviceInterface();
4655 const VkBuffer m_indirectBuffer;
4673 const DeviceInterface& vk = m_context.getDeviceInterface();
4674 const VkDevice device = m_context.getDevice();
4682 const Allocation& alloc = m_hostBuffer->getAllocation();
4699 const VkDescriptorBufferInfo hostBufferInfo = makeDescriptorBufferInfo(**m_hostBuffer, 0u, m_hostBufferSizeBytes);
4712 void recordCommands (const VkCommandBuffer cmdBuffer)
4714 const DeviceInterface& vk = m_context.getDeviceInterface();
4720 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
4733 SyncInfo getInSyncInfo (void) const
4735 const SyncInfo syncInfo =
4744 SyncInfo getOutSyncInfo (void) const
4749 Data getData (void) const
4754 void setData (const Data&)
4764 const VkShaderStageFlagBits m_stage;
4765 const VkPipelineStageFlags m_pipelineStage;
4766 const VkDeviceSize m_hostBufferSizeBytes;
4826 void recordCommands (const VkCommandBuffer cmdBuffer)
4828 const DeviceInterface& vk = m_context.getDeviceInterface();
4833 SyncInfo getInSyncInfo (void) const
4838 SyncInfo getOutSyncInfo (void) const
4840 const SyncInfo syncInfo =
4849 Data getData (void) const
4851 const Data data =
4854 reinterpret_cast<const deUint8*>(&m_expectedValue), // const deUint8* data;
4859 void setData (const Data&)
4877 ReadSupport (const ResourceDescription& resourceDesc)
4883 void initPrograms (SourceCollections& programCollection) const
4946 deUint32 getInResourceUsageFlags (void) const
4951 deUint32 getOutResourceUsageFlags (void) const
4956 VkQueueFlags getQueueFlags (const OperationContext& context) const
4962 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
4967 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
4974 const ResourceDescription m_resourceDesc;
4981 WriteSupport (const ResourceDescription& resourceDesc)
4987 deUint32 getInResourceUsageFlags (void) const
4992 deUint32 getOutResourceUsageFlags (void) const
4997 VkQueueFlags getQueueFlags (const OperationContext& context) const
5003 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
5008 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
5036 const DeviceInterface& vk = context.getDeviceInterface();
5037 const VkDevice device = context.getDevice();
5040 const VkDeviceSize dataSizeBytes = m_resource.getBuffer().size;
5047 const Allocation& alloc = m_outputBuffer->getAllocation();
5060 const Allocation& alloc = m_inputBuffer->getAllocation();
5075 const VkDescriptorBufferInfo outputBufferDescriptorInfo = makeDescriptorBufferInfo(m_outputBuffer->get(), 0ull, dataSizeBytes);
5104 void recordCommands (const VkCommandBuffer cmdBuffer)
5106 const DeviceInterface& vk = m_context.getDeviceInterface();
5107 const VkDeviceSize dataSizeBytes = m_resource.getBuffer().size;
5112 const VkImageMemoryBarrier2KHR imageMemoryBarrier2 = makeImageMemoryBarrier2(
5127 const VkRect2D renderArea = makeRect2D(m_colorImageExtent);
5128 const tcu::Vec4 clearColor = tcu::Vec4(0.0f, 0.0f, 0.0f, 1.0f);
5136 const VkDeviceSize vertexBufferOffset = 0ull;
5139 const deUint32 count = static_cast<deUint32>(dataSizeBytes / sizeof(tcu::UVec4));
5145 const deUint32 count = static_cast<deUint32>(dataSizeBytes / sizeof(deUint32));
5155 const VkBufferMemoryBarrier2KHR bufferMemoryBarrier2 = makeBufferMemoryBarrier2(
5169 SyncInfo getInSyncInfo (void) const
5171 const bool usingIndexedDraw = (m_drawMode == DRAW_MODE_INDEXED);
5182 const SyncInfo syncInfo =
5191 SyncInfo getOutSyncInfo (void) const
5196 Data getData (void) const
5201 void setData (const Data& data)
5229 Support(const ResourceDescription& resourceDesc, DrawMode drawMode)
5236 void initPrograms (SourceCollections& programCollection) const
5286 deUint32 getInResourceUsageFlags (void) const
5291 deUint32 getOutResourceUsageFlags (void) const
5296 VkQueueFlags getQueueFlags (const OperationContext&) const
5301 de::MovePtr<Operation> build (OperationContext& context, Resource& resource) const
5306 de::MovePtr<Operation> build (OperationContext&, Resource&, Resource&) const
5313 const ResourceDescription m_resourceDesc;
5314 const DrawMode m_drawMode;
5336 const DeviceInterface& vk,
5337 const VkDevice device,
5354 const vk::InstanceInterface& vki,
5355 const vk::DeviceInterface& vkd,
5373 Resource::Resource (OperationContext& context, const ResourceDescription& desc, const deUint32 usage, const vk::VkSharingMode sharingMode, const std::vector<deUint32>& queueFamilyIndex)
5376 const DeviceInterface& vk = context.getDeviceInterface();
5377 const InstanceInterface& vki = context.getInstanceInterface();
5378 const VkDevice device = context.getDevice();
5379 const VkPhysicalDevice physDevice = context.getPhysicalDevice();
5415 const VkResult formatResult = vki.getPhysicalDeviceImageFormatProperties(physDevice, imageInfo.format, imageInfo.imageType, imageInfo.tiling, imageInfo.usage, imageInfo.flags, &imageFormatProperties);
5444 const vk::VkExtent3D& extent,
5456 vk::VkDeviceMemory Resource::getMemory (void) const
5466 bool isResourceSupported (const OperationName opName, const ResourceDescription& resourceDesc)
5605 std::string getOperationName (const OperationName opName)
5706 bool isSpecializedAccessFlagSupported (const OperationName opName)
5771 de::MovePtr<OperationSupport> makeOperationSupport (const OperationName opName, const ResourceDescription& resourceDesc, const bool specializedAccess)
5873 bool isStageSupported (const vk::VkShaderStageFlagBits stage, const vk::VkQueueFlags queueFlags) {