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

Method CoopMat2CallbackTest

tests/unit/debug_printf.cpp:6770–6802  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6768}
6769
6770void NegativeDebugPrintf::CoopMat2CallbackTest(const char* shader_source, const char* message) {
6771 AddRequiredExtensions(VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME);
6772 AddRequiredExtensions(VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME);
6773 AddRequiredExtensions(VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME);
6774 AddRequiredFeature(vkt::Feature::cooperativeMatrix);
6775 AddRequiredFeature(vkt::Feature::shaderFloat16);
6776 AddRequiredFeature(vkt::Feature::vulkanMemoryModel);
6777 AddRequiredFeature(vkt::Feature::storageBuffer16BitAccess);
6778 AddRequiredFeature(vkt::Feature::bufferDeviceAddress);
6779 SetTargetApiVersion(VK_API_VERSION_1_3);
6780 RETURN_IF_SKIP(InitDebugPrintfFramework());
6781 RETURN_IF_SKIP(InitState());
6782
6783 CreateComputePipelineHelper pipe(*this);
6784 pipe.dsl_bindings_[0] = {0, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 1, VK_SHADER_STAGE_ALL, nullptr};
6785 pipe.cs_ = VkShaderObj(*m_device, shader_source, VK_SHADER_STAGE_COMPUTE_BIT, SPV_ENV_VULKAN_1_3);
6786 pipe.CreateComputePipeline();
6787
6788 vkt::Buffer buffer(*m_device, 256 * 256 * 2, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, kHostVisibleMemProps);
6789 pipe.descriptor_set_.WriteDescriptorBufferInfo(0, buffer, 0, VK_WHOLE_SIZE, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER);
6790 pipe.descriptor_set_.UpdateDescriptorSets();
6791
6792 m_command_buffer.Begin();
6793 vk::CmdBindPipeline(m_command_buffer, VK_PIPELINE_BIND_POINT_COMPUTE, pipe);
6794 vk::CmdBindDescriptorSets(m_command_buffer, VK_PIPELINE_BIND_POINT_COMPUTE, pipe.pipeline_layout_, 0, 1,
6795 &pipe.descriptor_set_.set_, 0, nullptr);
6796 vk::CmdDispatch(m_command_buffer, 1, 1, 1);
6797 m_command_buffer.End();
6798
6799 m_errorMonitor->SetDesiredInfo(message);
6800 m_default_queue->SubmitAndWait(m_command_buffer);
6801 m_errorMonitor->VerifyFound();
6802}
6803
6804TEST_F(NegativeDebugPrintf, CoopMat2PerElementOp) {
6805 TEST_DESCRIPTION("debugPrintfEXT inside a coopMatPerElementNV callback function");

Callers

nothing calls this directly

Calls 12

VkShaderObjClass · 0.85
CmdBindPipelineFunction · 0.85
CmdBindDescriptorSetsFunction · 0.85
CmdDispatchFunction · 0.85
CreateComputePipelineMethod · 0.80
SetDesiredInfoMethod · 0.80
SubmitAndWaitMethod · 0.80
UpdateDescriptorSetsMethod · 0.45
BeginMethod · 0.45
EndMethod · 0.45
VerifyFoundMethod · 0.45

Tested by

no test coverage detected