Lines Matching defs:context
356 Context& context;
638 void logTestImages(Context& context,
646 const DeviceInterface& vk = context.getDeviceInterface();
647 const VkDevice device = context.getDevice();
648 MovePtr<Allocator> allocator = MovePtr<Allocator>(new SimpleAllocator(vk, device, getPhysicalDeviceMemoryProperties(context.getInstanceInterface(), context.getPhysicalDevice())));
649 tcu::TestLog& log = context.getTestContext().getLog();
678 const Unique<VkCommandPool> cmdPool (createCommandPool (vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, context.getUniversalQueueFamilyIndex()));
707 submitCommandsAndWait(vk, device, context.getUniversalQueue(), *cmdBuffer);
743 void logVerifyImages(Context& context,
751 const DeviceInterface& vk = context.getDeviceInterface();
752 const VkDevice device = context.getDevice();
753 MovePtr<Allocator> allocator = MovePtr<Allocator>(new SimpleAllocator(vk, device, getPhysicalDeviceMemoryProperties(context.getInstanceInterface(), context.getPhysicalDevice())));
754 tcu::TestLog& log = context.getTestContext().getLog();
762 const Unique<VkCommandPool> cmdPool (createCommandPool (vk, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, context.getUniversalQueueFamilyIndex()));
770 submitCommandsAndWait(vk, device, context.getUniversalQueue(), *cmdBuffer);
788 bool checkAndReportError (Context& context,
793 tcu::TestLog& log = context.getTestContext().getLog();
805 void checkSampleRequirements (Context& context,
811 const VkPhysicalDeviceLimits& limits = context.getDeviceProperties().limits;
823 void checkImageRequirements (Context& context,
830 const InstanceInterface& vki = context.getInstanceInterface();
831 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
852 , context(contextIn)
858 const DeviceInterface& vk = context.getDeviceInterface();
865 const DeviceInterface& vk = context.getDeviceInterface();
866 const VkDevice device = context.getDevice();
869 vk::submitCommandsAndWait(vk, device, context.getUniversalQueue(), *cmdBuffer);
1260 void initResolveImageLayouts (Context& context,
1265 const DeviceInterface& vk = context.getDeviceInterface();
1316 void preRenderingImageLayoutTransition (Context& context,
1321 const DeviceInterface& vk = context.getDeviceInterface();
1356 void postRenderingResolveImageLayoutTransition (Context& context,
1361 const DeviceInterface& vk = context.getDeviceInterface();
1650 void createRenderPassAndFramebuffer(Context& context,
1660 const DeviceInterface& vk = context.getDeviceInterface();
1661 const VkDevice device = context.getDevice();
1682 void createWorkingData (Context& context, const TestParams& params, WorkingData& wd)
1684 const DeviceInterface& vk = context.getDeviceInterface();
1685 const VkDevice device = context.getDevice();
1686 MovePtr<Allocator> allocator = MovePtr<Allocator>(new SimpleAllocator(vk, device, getPhysicalDeviceMemoryProperties(context.getInstanceInterface(), context.getPhysicalDevice())));
1766 void checkRequirements (Context& context, TestParams params)
1768 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
1769 const vk::InstanceInterface& instanceInterface = context.getInstanceInterface();
1773 context.requireDeviceFunctionality("VK_KHR_depth_stencil_resolve");
1774 context.requireDeviceFunctionality("VK_KHR_create_renderpass2");
1777 context.requireDeviceFunctionality("VK_KHR_dynamic_rendering");
1781 context.requireDeviceFunctionality("VK_EXT_multisampled_render_to_single_sampled");
1810 checkImageRequirements (context, params.floatColor1Format,
1820 checkImageRequirements (context, params.floatColor2Format,
1830 checkImageRequirements (context, params.intColorFormat,
1840 checkImageRequirements (context, params.depthStencilFormat,
1865 checkSampleRequirements(context, perPass.numSamples, checkColor, checkDepth, checkStencil);
1877 void checkHasMsrtss (Context& context, VkFormat)
1879 context.requireDeviceFunctionality("VK_EXT_multisampled_render_to_single_sampled");
1911 void clearImagesBeforeDraw(Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects)
1913 const DeviceInterface& vk = context.getDeviceInterface();
1974 void startRenderPass(Context& context, WorkingData&wd, TestObjects& testObjects, const deUint32 clearValueCount, const VkClearValue* clearValues)
1976 const DeviceInterface& vk = context.getDeviceInterface();
1987 void startRendering (Context& context,
1996 const DeviceInterface& vk = context.getDeviceInterface();
2056 void postDrawBarrier(Context& context, TestObjects& testObjects)
2058 const DeviceInterface& vk = context.getDeviceInterface();
2073 void setupVerifyDescriptorSetAndPipeline(Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects, const VkPushConstantRange* pushConstantRange,
2076 const DeviceInterface& vk = context.getDeviceInterface();
2077 const VkDevice device = context.getDevice();
2119 const Unique<VkShaderModule> verifyModule (createShaderModule(vk, device, context.getBinaryCollection().get("comp"), 0u));
2129 void postVerifyBarrier(Context& context, TestObjects& testObjects, const Move<VkBuffer>& verificationBuffer)
2131 const DeviceInterface& vk = context.getDeviceInterface();
2150 void dispatchVerifyConstantColor(Context& context,
2160 const DeviceInterface& vk = context.getDeviceInterface();
2161 const VkDevice device = context.getDevice();
2200 const Unique<VkShaderModule> verifyModule (createShaderModule(vk, device, context.getBinaryCollection().get(shaderName), 0u));
2226 postVerifyBarrier(context, testObjects, verificationBuffer);
2229 void testStart(Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects)
2243 createWorkingData(context, params, wd);
2247 const DeviceInterface& vk = context.getDeviceInterface();
2297 void testEnd(Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects)
2303 const DeviceInterface& vk = context.getDeviceInterface();
2304 const VkDevice device = context.getDevice();
2323 dispatchVerifyConstantColor(context, testObjects, wd.getResolvedFloatColorImage1View(params), VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, wd.verify.view, wd.singleVerificationBuffer,
2335 dispatchVerifyConstantColor(context, testObjects, wd.getResolvedFloatColorImage2View(params), VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, wd.verify.view, wd.singleVerificationBuffer,
2347 dispatchVerifyConstantColor(context, testObjects, wd.getResolvedIntColorImageView(params), VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, wd.verify.view, wd.singleVerificationBuffer,
2358 dispatchVerifyConstantColor(context, testObjects, wd.getResolvedDepthOnlyImageView(params), VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, wd.verify.view, wd.singleVerificationBuffer,
2369 dispatchVerifyConstantColor(context, testObjects, wd.getResolvedStencilOnlyImageView(params), VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, wd.verify.view, wd.singleVerificationBuffer,
2380 tcu::TestStatus verify(Context& context, const TestParams& params, WorkingData& wd)
2398 logTestImages(context, params, wd, drawsToColor1, drawsToColor2, drawsToColor3, drawsToDepthStencil);
2409 if (!checkAndReportError(context, results->color1Verification, totalPixels, "color attachment 1"))
2418 if (!checkAndReportError(context, results->color2Verification, totalPixels, "color attachment 2"))
2427 if (!checkAndReportError(context, results->color3Verification, totalPixels, "color attachment 3"))
2436 if (!checkAndReportError(context, results->depthVerification, totalPixels, "depth attachment"))
2445 if (!checkAndReportError(context, results->stencilVerification, totalPixels, "stencil attachment"))
2455 logVerifyImages(context, params, wd, drawsToColor1, drawsToColor2, drawsToColor3, drawsToDepthStencil);
2468 allOk = checkAndReportError(context, results->color1Verification, totalPixels, "color attachment 1 (outside render area)") && allOk;
2470 allOk = checkAndReportError(context, results->color2Verification, totalPixels, "color attachment 2 (outside render area)") && allOk;
2472 allOk = checkAndReportError(context, results->color3Verification, totalPixels, "color attachment 3 (outside render area)") && allOk;
2474 allOk = checkAndReportError(context, results->depthVerification, totalPixels, "depth attachment (outside render area)") && allOk;
2476 allOk = checkAndReportError(context, results->stencilVerification, totalPixels, "stencil attachment (outside render area)") && allOk;
2480 logVerifyImages(context, params, wd, drawsToColor1, drawsToColor2, drawsToColor3, drawsToDepthStencil);
2937 void dispatchVerifyBasic(Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects)
2939 const DeviceInterface& vk = context.getDeviceInterface();
2940 const VkDevice device = context.getDevice();
2942 postDrawBarrier(context, testObjects);
2952 setupVerifyDescriptorSetAndPipeline(context, params, wd, testObjects, &verifyPushConstantRange, verifyPipelineLayout);
2960 postVerifyBarrier(context, testObjects, wd.verificationBuffer);
2965 void drawBasic (Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects)
2967 const InstanceInterface& vki = context.getInstanceInterface();
2968 const DeviceInterface& vk = context.getDeviceInterface();
2969 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
2970 const VkDevice device = context.getDevice();
2980 clearImagesBeforeDraw(context, params, wd, testObjects);
2985 preRenderingImageLayoutTransition(context, params, wd, testObjects);
2986 initResolveImageLayouts(context, params, wd, testObjects);
3049 createRenderPassAndFramebuffer(context, wd, testObjects, params.pipelineConstructionType, images, attachments, attachmentDescriptions, subpasses, {});
3061 const ShaderWrapper vertexModule (ShaderWrapper(vk, device, context.getBinaryCollection().get("vert"), 0u));
3062 const ShaderWrapper fragmentModule (ShaderWrapper(vk, device, context.getBinaryCollection().get("frag"), 0u));
3070 context.getDeviceExtensions(),
3090 startRendering(context, params, wd, testObjects, static_cast<uint32_t>(colorAttachmentFormats.size()), colorAttachmentInfos, depthStencilAttachmentInfo, 0u);
3094 startRenderPass(context, wd, testObjects, DE_LENGTH_OF_ARRAY(params.clearValues), params.clearValues);
3116 postRenderingResolveImageLayoutTransition(context, params, wd, testObjects);
3120 dispatchVerifyBasic(context, params, wd, testObjects);
3124 tcu::TestStatus testBasic (Context& context, const TestParams params)
3127 TestObjects testObjects(context);
3128 testStart(context, params, wd, testObjects);
3130 drawBasic (context, params, wd, testObjects);
3132 testEnd(context, params, wd, testObjects);
3133 return verify(context, params, wd);
3190 void dispatchVerifyClearAttachments(Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects, const UVec4 regions[RegionCount], const VkClearValue clearValues[RegionCount - 1][4])
3192 const DeviceInterface& vk = context.getDeviceInterface();
3193 const VkDevice device = context.getDevice();
3195 postDrawBarrier(context, testObjects);
3205 setupVerifyDescriptorSetAndPipeline(context, params, wd, testObjects, &verifyPushConstantRange, verifyPipelineLayout);
3222 postVerifyBarrier(context, testObjects, wd.verificationBuffer);
3238 dispatchVerifyConstantColor(context, testObjects, wd.getResolvedFloatColorImage1View(params), VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, wd.verify.view, wd.verificationBuffer,
3249 dispatchVerifyConstantColor(context, testObjects, wd.getResolvedFloatColorImage2View(params), VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, wd.verify.view, wd.verificationBuffer,
3260 dispatchVerifyConstantColor(context, testObjects, wd.getResolvedIntColorImageView(params), VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, wd.verify.view, wd.verificationBuffer,
3271 dispatchVerifyConstantColor(context, testObjects, wd.getResolvedDepthOnlyImageView(params), VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, wd.verify.view, wd.verificationBuffer,
3282 dispatchVerifyConstantColor(context, testObjects, wd.getResolvedStencilOnlyImageView(params), VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, wd.verify.view, wd.verificationBuffer,
3290 void drawClearAttachments (Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects)
3292 const InstanceInterface& vki = context.getInstanceInterface();
3293 const DeviceInterface& vk = context.getDeviceInterface();
3294 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
3295 const VkDevice device = context.getDevice();
3305 clearImagesBeforeDraw(context, params, wd, testObjects);
3310 preRenderingImageLayoutTransition(context, params, wd, testObjects);
3311 initResolveImageLayouts(context, params, wd, testObjects);
3374 createRenderPassAndFramebuffer(context, wd, testObjects, params.pipelineConstructionType, images, attachments, attachmentDescriptions, subpasses, {});
3394 const ShaderWrapper vertexModule (ShaderWrapper(vk, device, context.getBinaryCollection().get("vert"), 0u));
3395 const ShaderWrapper fragmentModule (ShaderWrapper(vk, device, context.getBinaryCollection().get("frag"), 0u));
3400 startRendering(context, params, wd, testObjects, static_cast<uint32_t>(colorAttachmentFormats.size()), colorAttachmentInfos, depthStencilAttachmentInfo, 0u);
3404 startRenderPass(context, wd, testObjects, DE_LENGTH_OF_ARRAY(params.clearValues), params.clearValues);
3413 context.getDeviceExtensions(),
3467 context.getDeviceExtensions(),
3501 postRenderingResolveImageLayoutTransition(context, params, wd, testObjects);
3505 dispatchVerifyClearAttachments(context, params, wd, testObjects, regions, clearValues);
3509 tcu::TestStatus testClearAttachments (Context& context, const TestParams params)
3512 TestObjects testObjects(context);
3513 testStart(context, params, wd, testObjects);
3515 drawClearAttachments (context, params, wd, testObjects);
3517 testEnd(context, params, wd, testObjects);
3518 return verify(context, params, wd);
3521 void drawOnePass(Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects,
3525 const InstanceInterface& vki = context.getInstanceInterface();
3526 const DeviceInterface& vk = context.getDeviceInterface();
3527 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
3528 const VkDevice device = context.getDevice();
3554 const ShaderWrapper fragmentModule (ShaderWrapper(vk, device, context.getBinaryCollection().get(fragName.str().c_str()), 0u));
3563 context.getDeviceExtensions(),
3593 context.getDeviceExtensions(),
3619 void dispatchVerifyMultiPassRendering(Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects, UVec4 regions[RegionCount])
3621 const DeviceInterface& vk = context.getDeviceInterface();
3622 const VkDevice device = context.getDevice();
3624 postDrawBarrier(context, testObjects);
3634 setupVerifyDescriptorSetAndPipeline(context, params, wd, testObjects, &verifyPushConstantRange, verifyPipelineLayout);
3658 postVerifyBarrier(context, testObjects, wd.verificationBuffer);
3663 void drawSingleRenderPass (Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects)
3665 const DeviceInterface& vk = context.getDeviceInterface();
3666 const VkDevice device = context.getDevice();
3671 clearImagesBeforeDraw(context, params, wd, testObjects);
3710 createRenderPassAndFramebuffer(context, wd, testObjects, params.pipelineConstructionType, images, attachments, attachmentDescriptions, subpasses, subpassDependencies);
3720 const ShaderWrapper vertexModule (ShaderWrapper(vk, device, context.getBinaryCollection().get("vert"), 0u));
3726 startRenderPass(context, wd, testObjects, DE_LENGTH_OF_ARRAY(params.clearValues), params.clearValues);
3733 drawOnePass(context, params, wd, testObjects, vertexModule, pipelineLayout, passNdx, passNdx, regions, DE_NULL);
3739 dispatchVerifyMultiPassRendering(context, params, wd, testObjects, regions);
3743 tcu::TestStatus testSingleRenderPass (Context& context, const TestParams params)
3746 TestObjects testObjects(context);
3747 testStart(context, params, wd, testObjects);
3749 drawSingleRenderPass (context, params, wd, testObjects);
3751 testEnd(context, params, wd, testObjects);
3752 return verify(context, params, wd);
3755 void drawMultiRenderPass (Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects)
3757 const DeviceInterface& vk = context.getDeviceInterface();
3758 const VkDevice device = context.getDevice();
3763 clearImagesBeforeDraw(context, params, wd, testObjects);
3768 preRenderingImageLayoutTransition(context, params, wd, testObjects);
3769 initResolveImageLayouts(context, params, wd, testObjects);
3779 const ShaderWrapper vertexModule (ShaderWrapper(vk, device, context.getBinaryCollection().get("vert"), 0u));
3852 createRenderPassAndFramebuffer(context, wd, testObjects, params.pipelineConstructionType, images, attachments, attachmentDescriptions, subpasses, {});
3887 startRendering(context, params, wd, testObjects, static_cast<uint32_t>(colorAttachmentFormats.size()), colorAttachmentInfos, depthStencilAttachmentInfo, renderPassNdx);
3891 startRenderPass(context, wd, testObjects, static_cast<deUint32>(clearValues.size()), dataOrNullPtr(clearValues));
3894 drawOnePass(context, params, wd, testObjects, vertexModule, pipelineLayout, renderPassNdx, 0, regions, &pipelineRenderingCreateInfo);
3908 postRenderingResolveImageLayoutTransition(context, params, wd, testObjects);
3912 dispatchVerifyMultiPassRendering(context, params, wd, testObjects, regions);
3916 tcu::TestStatus testMultiRenderPass (Context& context, const TestParams params)
3919 TestObjects testObjects(context);
3920 testStart(context, params, wd, testObjects);
3922 drawMultiRenderPass (context, params, wd, testObjects);
3924 testEnd(context, params, wd, testObjects);
3925 return verify(context, params, wd);
4488 void drawInputAttachments (Context& context, const TestParams& params, WorkingData& wd, TestObjects& testObjects)
4490 const InstanceInterface& vki = context.getInstanceInterface();
4491 const DeviceInterface& vk = context.getDeviceInterface();
4492 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
4493 const VkDevice device = context.getDevice();
4498 clearImagesBeforeDraw(context, params, wd, testObjects);
4569 createRenderPassAndFramebuffer(context, wd, testObjects, params.pipelineConstructionType, images, attachments, attachmentDescriptions, subpasses, subpassDependencies);
4579 const ShaderWrapper vertexModule (ShaderWrapper(vk, device, context.getBinaryCollection().get("vert"), 0u));
4580 const ShaderWrapper fragmentModule0 (ShaderWrapper(vk, device, context.getBinaryCollection().get("frag_0"), 0u));
4581 const ShaderWrapper fragmentModule1 (ShaderWrapper(vk, device, context.getBinaryCollection().get("frag_1"), 0u));
4620 const ShaderWrapper fragmentModuleIn (ShaderWrapper(vk, device, context.getBinaryCollection().get("frag_in"), 0u));
4626 startRenderPass(context, wd, testObjects, DE_LENGTH_OF_ARRAY(params.clearValues), params.clearValues);
4638 pipeline::makeGraphicsPipeline(vki, vk, physicalDevice, device, context.getDeviceExtensions(), params.pipelineConstructionType, pipelineLayout, *testObjects.renderPassFramebuffers.back(), DE_NULL, vertexModule, fragmentModule0, false, true, false, 0, 0,
4653 pipeline::makeGraphicsPipeline(vki, vk, physicalDevice, device, context.getDeviceExtensions(), params.pipelineConstructionType, inputPipelineLayout, *testObjects.renderPassFramebuffers.back(), DE_NULL, vertexModule, fragmentModuleIn, false, false, false, 0, 1,
4665 pipeline::makeGraphicsPipeline(vki, vk, physicalDevice, device, context.getDeviceExtensions(), params.pipelineConstructionType, pipelineLayout, *testObjects.renderPassFramebuffers.back(), DE_NULL, vertexModule, fragmentModule1, true, false, false, 0xC, 1,
4678 dispatchVerifyMultiPassRendering(context, params, wd, testObjects, regions);
4682 tcu::TestStatus testInputAttachments (Context& context, const TestParams params)
4685 TestObjects testObjects(context);
4686 testStart(context, params, wd, testObjects);
4688 drawInputAttachments (context, params, wd, testObjects);
4690 testEnd(context, params, wd, testObjects);
4691 return verify(context, params, wd);
4907 tcu::TestStatus testPerfQuery (Context& context, VkFormat format)
4909 const InstanceInterface& vki = context.getInstanceInterface();
4910 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();