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

Function TEST_F

tests/unit/mesh.cpp:22–182  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20class NegativeMesh : public MeshTest {};
21
22TEST_F(NegativeMesh, BasicUsage) {
23 TEST_DESCRIPTION("Test VK_EXT_mesh_shader.");
24
25 SetTargetApiVersion(VK_API_VERSION_1_3);
26 AddRequiredExtensions(VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME);
27 AddRequiredExtensions(VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME);
28 AddRequiredExtensions(VK_KHR_MULTIVIEW_EXTENSION_NAME);
29 AddRequiredExtensions(VK_EXT_MESH_SHADER_EXTENSION_NAME);
30 AddRequiredExtensions(VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME);
31 AddRequiredFeature(vkt::Feature::vertexInputDynamicState);
32 AddRequiredFeature(vkt::Feature::extendedDynamicState2);
33 AddRequiredFeature(vkt::Feature::extendedDynamicState2PatchControlPoints);
34 AddRequiredFeature(vkt::Feature::maintenance4);
35 AddRequiredFeature(vkt::Feature::multiview);
36 AddRequiredFeature(vkt::Feature::transformFeedback);
37 AddRequiredFeature(vkt::Feature::taskShader);
38 AddRequiredFeature(vkt::Feature::meshShader);
39 AddRequiredFeature(vkt::Feature::dynamicRendering);
40
41 RETURN_IF_SKIP(Init());
42 InitRenderTarget();
43
44 const char vert_shader_text[] = R"glsl(
45 #version 460
46 vec2 vertices[3];
47 void main() {
48 vertices[0] = vec2(-1.0, -1.0);
49 vertices[1] = vec2( 1.0, -1.0);
50 vertices[2] = vec2( 0.0, 1.0);
51 gl_Position = vec4(vertices[gl_VertexIndex % 3], 0.0, 1.0);
52 gl_PointSize = 1.0f;
53 }
54 )glsl";
55
56 const char mesh_shader_text[] = R"glsl(
57 #version 460
58 #extension GL_EXT_mesh_shader : require
59 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
60 layout(max_vertices = 3) out;
61 layout(max_primitives = 1) out;
62 layout(triangles) out;
63 void main() {
64 SetMeshOutputsEXT(3,1);
65 gl_MeshVerticesEXT[0].gl_Position = vec4(-1.0, -1.0, 0, 1);
66 gl_MeshVerticesEXT[1].gl_Position = vec4( 1.0, -1.0, 0, 1);
67 gl_MeshVerticesEXT[2].gl_Position = vec4( 0.0, 1.0, 0, 1);
68 gl_PrimitiveTriangleIndicesEXT[0] = uvec3(0,1,2);
69 }
70 )glsl";
71
72 const char mesh_shader_xfb_text[] = R"(
73 OpCapability MeshShadingEXT
74 OpCapability TransformFeedback
75 OpExtension "SPV_EXT_mesh_shader"
76 %1 = OpExtInstImport "GLSL.std.450"
77 OpMemoryModel Logical GLSL450
78 OpEntryPoint MeshEXT %main "main" %tf
79 OpExecutionModeId %main LocalSizeId %uint_2 %uint_1 %uint_1

Callers

nothing calls this directly

Calls 15

CmdSetEventFunction · 0.85
CmdResetEventFunction · 0.85
CmdWaitEventsFunction · 0.85
CmdPipelineBarrierFunction · 0.85
QueueSubmitFunction · 0.85
CmdBindPipelineFunction · 0.85
CmdDrawMeshTasksEXTFunction · 0.85
CmdDrawFunction · 0.85

Tested by

no test coverage detected