Lines Matching defs:const
101 const auto addFeatures = makeStructChainAdder(&features2);
148 const auto& vki = m_context.getInstanceInterface();
149 const auto instance = m_context.getInstance();
150 const auto physicalDevice = chooseDevice(vki, instance, context.getTestContext().getCommandLine());
179 static const DeviceInterface& getDeviceInterface(Context& context)
193 const Context& m_context;
214 static const deUint32 DIM = 8;
265 bool needsScalarBlockLayout() const
285 bool needsPipelineRobustness (void) const
291 static bool formatIsR64(const VkFormat& f)
304 VkDevice getLogicalDevice (Context& ctx, const bool testRobustness2, const bool testPipelineRobustness)
319 const DeviceInterface& getDeviceInterface(Context& ctx, const bool testRobustness2, const bool testPipelineRobustness)
345 RobustnessExtsTestInstance (Context& context, const CaseDef& data);
352 RobustnessExtsTestInstance::RobustnessExtsTestInstance (Context& context, const CaseDef& data)
365 RobustnessExtsTestCase (tcu::TestContext& context, const std::string& name, const CaseDef data);
367 virtual void initPrograms (SourceCollections& programCollection) const;
368 virtual TestInstance* createInstance (Context& context) const;
369 virtual void checkSupport (Context& context) const;
375 RobustnessExtsTestCase::RobustnessExtsTestCase (tcu::TestContext& context, const std::string& name, const CaseDef data)
385 static bool formatIsFloat(const VkFormat& f)
398 static bool formatIsSignedInt(const VkFormat& f)
474 void RobustnessExtsTestCase::checkSupport(Context& context) const
476 const auto& vki = context.getInstanceInterface();
477 const auto physicalDevice = context.getPhysicalDevice();
489 const auto addFeatures = makeStructChainAdder(&features2);
517 const VkFormatProperties3KHR formatProperties3 = context.getFormatProperties(m_data.format);
620 const VkFormatProperties3 formatProperties = context.getFormatProperties(m_data.format);
628 const VkFormatProperties3 formatProperties = context.getFormatProperties(m_data.format);
656 void generateLayout(Layout &layout, const CaseDef &caseDef)
700 deMemcpy(layout.refData.data(), formatIsFloat(caseDef.format) ? (const void *)frefData : (const void *)urefData, sizeof(frefData));
727 static string genFetch(const CaseDef &caseDef, int numComponents, const string& vecType, const string& coord, const string& lod)
768 static const int storeValue = 123;
771 static string getStoreValue(int descriptorType, int numComponents, const string& vecType, const string& bufType)
793 static string genStore(int descriptorType, const string& vecType, const string& bufType, const string& coord)
814 static string genAtomic(int descriptorType, const string& bufType, const string& coord)
835 static std::string getShaderImageFormatQualifier (const tcu::TextureFormat& format)
837 const char* orderPart;
838 const char* typePart;
915 string genCoordNorm(const CaseDef &caseDef, string c, int numCoords, int numNormalizedCoords, int dim)
940 void RobustnessExtsTestCase::initPrograms (SourceCollections& programCollection) const
959 const string r64 = formatIsR64(format) ? "64" : "";
960 const string i64Type = formatIsR64(format) ? "64_t" : "";
961 const string vecType = formatIsFloat(format) ? "vec4" : (formatIsSignedInt(format) ? ("i" + r64 + "vec4") : ("u" + r64 + "vec4"));
962 const string qLevelType = vecType == "vec4" ? "float" : ((vecType == "ivec4") || (vecType == "i64vec4")) ? ("int" + i64Type) : ("uint" + i64Type);
970 const int componetsSize = (formatIsR64(format) ? 8 : 4);
990 decls << ((const float *)layout.refData.data())[i];
1008 decls << ((const deUint64 *)layout.refData.data())[i] << "l";
1026 decls << ((const int *)layout.refData.data())[i];
1121 const char *vol = m_data.vol ? "volatile " : "";
1122 const char *ro = m_data.readOnly ? "readonly " : "";
1522 const char *sizeswiz;
1607 const bool needsScalarLayout = m_data.needsScalarBlockLayout();
1608 const uint32_t shaderBuildOptions = (needsScalarLayout
1612 const bool is64BitFormat = formatIsR64(m_data.format);
1715 const std::string ivecCords = (m_data.viewType == VK_IMAGE_VIEW_TYPE_2D ? "ivec2(gx, gy)" : "ivec3(gx, gy, gz)");
1769 TestInstance* RobustnessExtsTestCase::createInstance (Context& context) const
1776 const VkInstance instance = m_context.getInstance();
1777 const InstanceInterface& vki = m_context.getInstanceInterface();
1778 const VkDevice device = getLogicalDevice(m_context, m_data.testRobustness2, m_data.needsPipelineRobustness());
1779 const vk::DeviceInterface& vk = getDeviceInterface(m_context, m_data.testRobustness2, m_data.needsPipelineRobustness());
1780 const VkPhysicalDevice physicalDevice = chooseDevice(vki, instance, m_context.getTestContext().getCommandLine());
1859 const VkDescriptorSetLayoutCreateInfo setLayoutCreateInfo =
1883 const void *pNext = DE_NULL;
1943 const deUint32 queueFamilyIndex = m_context.getUniversalQueueFamilyIndex();
1958 const VkImageSubresourceRange barrierRange =
1970 DE_NULL, // const void* pNext
1984 DE_NULL, // const void* pNext;
2018 const bool featureSampledImage = ((getPhysicalDeviceFormatProperties(vki,
2023 const VkImageUsageFlags usageSampledImage = (featureSampledImage ? VK_IMAGE_USAGE_SAMPLED_BIT : (VkImageUsageFlagBits)0);
2025 const VkImageCreateInfo outputImageCreateInfo =
2028 DE_NULL, // const void* pNext;
2047 DE_NULL, // const deUint32* pQueueFamilyIndices;
2059 const VkImageUsageFlags usageImage = (m_data.descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE ? VK_IMAGE_USAGE_STORAGE_BIT : (VkImageUsageFlagBits)0);
2061 const VkImageCreateInfo imageCreateInfo =
2064 DE_NULL, // const void* pNext;
2083 DE_NULL, // const deUint32* pQueueFamilyIndices;
2090 DE_NULL, // const void* pNext;
2121 const VkDeviceSize sizeOutputR64 = 8 * outputImageCreateInfo.extent.width * outputImageCreateInfo.extent.height * outputImageCreateInfo.extent.depth;
2122 const VkDeviceSize sizeOneLayers = 8 * imageCreateInfo.extent.width * imageCreateInfo.extent.height * imageCreateInfo.extent.depth;
2123 const VkDeviceSize sizeImageR64 = sizeOneLayers * layers;
2186 const vk::VkBufferViewCreateInfo viewCreateInfo =
2227 const VkBuffer& bufferR64= ((b == 0) ? *(*bufferOutputImageR64) : *(*(bufferImageR64)));
2228 const VkImageCreateInfo& imageInfo = ((b == 0) ? outputImageCreateInfo : imageCreateInfo);
2229 const deUint32 clearLayers = b == 0 ? 1 : layers;
2251 vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &preImageBarrier);
2255 const VkImageSubresourceRange clearRange =
2277 vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &postImageBarrier);
2283 const VkImageSubresourceRange subresourceRange = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, clearLayers);
2284 const VkImageMemoryBarrier imageBarrierPre = makeImageMemoryBarrier(0,
2290 const VkImageMemoryBarrier imageBarrierPost = makeImageMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT,
2318 const VkDescriptorImageInfo descResultImageInfo = makeDescriptorImageInfo(DE_NULL, **imageViews[b], VK_IMAGE_LAYOUT_GENERAL);
2319 const VkDescriptorBufferInfo descResultBufferInfo = makeDescriptorBufferInfo(bufferR64, 0, sizeImageR64);
2330 0, (const VkMemoryBarrier*)DE_NULL,
2331 0, (const VkBufferMemoryBarrier*)DE_NULL,
2343 0, (const VkMemoryBarrier*)DE_NULL,
2344 0, (const VkBufferMemoryBarrier*)DE_NULL,
2350 const vector<VkBufferImageCopy> bufferImageCopy (1, makeBufferImageCopy(imageInfo.extent, makeImageSubresourceLayers(VK_IMAGE_ASPECT_COLOR_BIT, 0, 0, clearLayers)));
2367 const VkSamplerCreateInfo samplerParams =
2370 DE_NULL, // const void* pNext;
2397 const VkPipelineLayoutCreateInfo pipelineLayoutCreateInfo =
2627 const auto sbtFlags = (VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR | VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT);
2632 const auto sgHandleSize = rayTracingProperties.shaderGroupHandleSize;
2637 const Unique<VkShaderModule> shader(createShaderModule(vk, device, m_context.getBinaryCollection().get("test"), 0));
2639 const VkPipelineShaderStageCreateInfo pipelineShaderStageParams =
2642 nullptr, // const void* pNext;
2646 "main", // const char* pName;
2647 nullptr, // const VkSpecializationInfo* pSpecializationInfo;
2653 nullptr, // const void* pNext;
2676 const Unique<VkShaderModule> shader(createShaderModule(vk, device, m_context.getBinaryCollection().get("test"), 0));
2678 const VkPipelineShaderStageCreateInfo shaderCreateInfo =
2735 const VkBufferDeviceAddressInfo deviceAddressInfo
2738 nullptr, // const void* pNext
2741 const auto sbtAddress = vk.getBufferDeviceAddress(device, &deviceAddressInfo);
2747 const VkSubpassDescription subpassDesc =
2752 DE_NULL, // const VkAttachmentReference* pInputAttachments
2754 DE_NULL, // const VkAttachmentReference* pColorAttachments
2755 DE_NULL, // const VkAttachmentReference* pResolveAttachments
2756 DE_NULL, // const VkAttachmentReference* pDepthStencilAttachment
2758 DE_NULL // const deUint32* pPreserveAttachments
2761 const std::vector<VkSubpassDependency> subpassDependencies =
2785 const VkRenderPassCreateInfo renderPassParams =
2788 DE_NULL, // const void* pNext
2791 DE_NULL, // const VkAttachmentDescription* pAttachments
2793 &subpassDesc, // const VkSubpassDescription* pSubpasses
2795 de::dataOrNull(subpassDependencies), // const VkSubpassDependency* pDependencies
2800 const vk::VkFramebufferCreateInfo framebufferParams =
2815 const VkVertexInputBindingDescription vertexInputBindingDescription =
2822 const VkVertexInputAttributeDescription vertexInputAttributeDescription =
2835 DE_NULL, // const void* pNext;
2838 &vertexInputBindingDescription, // const VkVertexInputBindingDescription* pVertexBindingDescriptions;
2840 &vertexInputAttributeDescription // const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
2843 const VkPipelineInputAssemblyStateCreateInfo inputAssemblyStateCreateInfo =
2846 DE_NULL, // const void* pNext;
2852 const VkPipelineRasterizationStateCreateInfo rasterizationStateCreateInfo =
2855 DE_NULL, // const void* pNext;
2869 const VkPipelineMultisampleStateCreateInfo multisampleStateCreateInfo =
2872 DE_NULL, // const void* pNext
2877 DE_NULL, // const VkSampleMask* pSampleMask
2885 const VkPipelineViewportStateCreateInfo viewportStateCreateInfo =
2888 DE_NULL, // const void* pNext
2891 &viewport, // const VkViewport* pViewports
2893 &scissor // const VkRect2D* pScissors
2939 nullptr, // const void* pNext;
2942 &shaderCreateInfo[0], // const VkPipelineShaderStageCreateInfo* pStages;
2943 &vertexInputStateCreateInfo, // const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
2944 &inputAssemblyStateCreateInfo, // const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
2945 nullptr, // const VkPipelineTessellationStateCreateInfo* pTessellationState;
2946 &viewportStateCreateInfo, // const VkPipelineViewportStateCreateInfo* pViewportState;
2947 &rasterizationStateCreateInfo, // const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
2948 &multisampleStateCreateInfo, // const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
2949 nullptr, // const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
2950 nullptr, // const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
2951 nullptr, // const VkPipelineDynamicStateCreateInfo* pDynamicState;
3097 const VkImageMemoryBarrier imageBarrier =
3100 DE_NULL, // const void* pNext
3119 0, (const VkMemoryBarrier*)DE_NULL,
3120 0, (const VkBufferMemoryBarrier*)DE_NULL,
3134 const vector<VkBufferImageCopy> bufferImageCopy(1, makeBufferImageCopy(outputImageCreateInfo.extent, makeImageSubresourceLayers(VK_IMAGE_ASPECT_COLOR_BIT, 0, 0, 1)));
3187 const auto writeStage = ((m_data.stage == STAGE_VERTEX) ? VK_PIPELINE_STAGE_VERTEX_SHADER_BIT : VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT);
3188 const auto postDrawBarrier = makeMemoryBarrier(VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, VK_ACCESS_SHADER_WRITE_BIT);
3207 const VkBufferImageCopy copyRegion = makeBufferImageCopy(makeExtent3D(DIM, DIM, 1u),
3269 const bool pipelineRobustness;
3270 const bool dynamicStride;
3272 OutOfBoundsStrideParams (const bool pipelineRobustness_, const bool dynamicStride_)
3281 OutOfBoundsStrideInstance (Context& context, const OutOfBoundsStrideParams& params)
3290 const OutOfBoundsStrideParams m_params;
3296 OutOfBoundsStrideCase (tcu::TestContext& testCtx, const std::string& name, const OutOfBoundsStrideParams& params);
3299 void initPrograms (vk::SourceCollections& programCollection) const override;
3300 TestInstance* createInstance (Context& context) const override { return new OutOfBoundsStrideInstance(context, m_params); }
3301 void checkSupport (Context& context) const override;
3304 const OutOfBoundsStrideParams m_params;
3307 OutOfBoundsStrideCase::OutOfBoundsStrideCase (tcu::TestContext& testCtx, const std::string& name, const OutOfBoundsStrideParams& params)
3316 void OutOfBoundsStrideCase::checkSupport(Context &context) const
3320 const auto& vki = context.getInstanceInterface();
3321 const auto physicalDevice = context.getPhysicalDevice();
3332 const auto addFeatures = makeStructChainAdder(&features2);
3359 void OutOfBoundsStrideCase::initPrograms (vk::SourceCollections& programCollection) const
3385 const auto& vki = m_context.getInstanceInterface();
3386 const auto physicalDevice = m_context.getPhysicalDevice();
3387 const auto& vkd = getDeviceInterface(m_context, true, m_params.pipelineRobustness);
3388 const auto device = getLogicalDevice(m_context, true, m_params.pipelineRobustness);
3390 const auto qfIndex = m_context.getUniversalQueueFamilyIndex();
3391 const tcu::IVec3 fbDim (8, 8, 1);
3392 const auto fbExtent = makeExtent3D(fbDim);
3393 const auto colorFormat = VK_FORMAT_R8G8B8A8_UNORM;
3394 const auto colorUsage = (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT);
3395 const auto colorSRR = makeDefaultImageSubresourceRange();
3396 const auto colorSRL = makeDefaultImageSubresourceLayers();
3397 const auto v4Size = static_cast<uint32_t>(sizeof(tcu::Vec4));
3410 const auto pointCount = fbExtent.width * fbExtent.height * fbExtent.depth;
3417 const auto xCoord = ((static_cast<float>(x) + 0.5f) / static_cast<float>(fbExtent.width)) * 2.0f - 1.0f;
3418 const auto yCoord = ((static_cast<float>(y) + 0.5f) / static_cast<float>(fbExtent.height)) * 2.0f - 1.0f;
3419 const tcu::Vec4 coords (xCoord, yCoord, 0.0f, 1.0f);
3427 for (const auto& point : points)
3434 const auto vertexBufferSize = static_cast<VkDeviceSize>(de::dataSize(vertexBufferData) - v4Size);
3435 const auto vertexBufferUsage = (VK_BUFFER_USAGE_VERTEX_BUFFER_BIT);
3436 const auto vertexBufferInfo = makeBufferCreateInfo(vertexBufferSize, vertexBufferUsage);
3437 const auto vertexBufferOffset = VkDeviceSize{0};
3438 const auto vertexBufferStride = static_cast<VkDeviceSize>(2u * v4Size);
3447 const auto& binaries = m_context.getBinaryCollection();
3448 const auto vertModule = createShaderModule(vkd, device, binaries.get("vert"));
3449 const auto fragModule = createShaderModule(vkd, device, binaries.get("frag"));
3450 const auto renderPass = makeRenderPass(vkd, device, colorFormat);
3451 const auto framebuffer = makeFramebuffer(vkd, device, renderPass.get(), colorBuffer.getImageView(), fbExtent.width, fbExtent.height);
3452 const auto pipelineLayout = makePipelineLayout(vkd, device);
3454 const std::vector<VkViewport> viewports (1u, makeViewport(fbExtent));
3455 const std::vector<VkRect2D> scissors (1u, makeRect2D(fbExtent));
3458 const auto bindingStride = v4Size * 2u; // Vertex and padding.
3459 const auto bindingDescription = makeVertexInputBindingDescription(0u, bindingStride, VK_VERTEX_INPUT_RATE_VERTEX);
3460 const auto attributeDescription = makeVertexInputAttributeDescription(0u, 0u, vk::VK_FORMAT_R32G32B32A32_SFLOAT, 0u); // Vertex at the start of each item.
3462 const VkPipelineVertexInputStateCreateInfo inputStateCreateInfo =
3465 nullptr, // const void* pNext;
3468 &bindingDescription, // const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3470 &attributeDescription, // const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3477 const VkPipelineDynamicStateCreateInfo dynamicStateCreateInfo =
3480 nullptr, // const void* pNext;
3483 de::dataOrNull(dynamicStates), // const VkDynamicState* pDynamicStates;
3486 const auto pipeline = makeGraphicsPipeline(vkd, device, pipelineLayout.get(),
3492 const CommandPoolWithBuffer cmd (vkd, device, qfIndex);
3493 const auto cmdBuffer = cmd.cmdBuffer.get();
3495 const auto clearColor = makeClearValueColor(tcu::Vec4(0.0f, 0.0f, 0.0f, 0.0f));
3515 const auto color2Transfer = makeImageMemoryBarrier(
3524 const auto copyRegion = makeBufferImageCopy(fbExtent, colorSRL);
3527 const auto transfer2Host = makeMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_HOST_READ_BIT);
3536 const tcu::Vec4 refColor (0.0f, 0.0f, 1.0f, 1.0f); // Must match frag shader.
3537 const tcu::Vec4 threshold (0.0f, 0.0f, 0.0f, 0.0f);
3538 const void* resultData = colorBuffer.getBufferAllocation().getHostPtr();
3539 const auto tcuFormat = mapVkFormat(colorFormat);
3540 const tcu::ConstPixelBufferAccess resultAccess (tcuFormat, fbDim, resultData);
3567 const char* name;
3797 const bool isR64 = formatIsR64((VkFormat)fmtCases[fmtNdx].count);
3908 const std::vector<PipelineRobustnessCase> pipelineRobustnessCases (1u,
3912 for (const auto& pipelineRobustnessCase : pipelineRobustnessCases)
3936 const auto name = stageCases[stageNdx].name + getGPLSuffix(pipelineRobustnessCase);
3977 for (const auto dynamicStride : { false, true })
3979 const OutOfBoundsStrideParams params (pipelineRobustness, dynamicStride);
3980 const std::string nameSuffix (dynamicStride ? "_dynamic_stride" : "");
3981 const std::string testName ("out_of_bounds_stride" + nameSuffix);