# Why do I get 'Input Assembler: “No mesh available for stage”' error?

My question is basically why VS2012 tells me that there is no mesh available for the Input Assembler stage because if I click on the DeviceContext next to the Draw call in the Grahics Event List the Input layout is set correctly, the vertex buffers, too, the index buffer is NULL as I do not call DrawIndexed and the primitive topology is set correctly. My background color is drawn using g_pImmediateContext->ClearRenderTargetView( g_pRenderTargetView, Colors::MidnightBlue );. Only the mesh does not appear. What did I miss?

If anything maybe this file which can be opened using VS2012 may help, it is the Graphics Experiment.vsglog file (link no longer available).

Here is my InputLayout struct:

struct VERTEXPOSITIONCOLOR
{
DirectX::XMFLOAT3   position;
DirectX::XMFLOAT4   color;

static D3D11_INPUT_ELEMENT_DESC* GetVertexLayout()
{
static D3D11_INPUT_ELEMENT_DESC layout[] =
{
{ "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT,
0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },
{ "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT,
0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 },
};
return layout;
}

static UINT GetNumElements(){ return 2; }
};

• Have you called IASetVertexBuffers on your vertex buffer prior to the draw call. – Syntac_ Jan 12 '14 at 0:19
• Yes, I have. (Just checked again). And as I mentioned above the vertex buffers are set correctly in the debugging window. It would be NULL like the IndexBuffer if I had not called IASetVertexBuffers. – NOhs Jan 12 '14 at 0:24
• In the graphics pipeline in VS can you see the mesh in the input assembler stage? – Syntac_ Jan 12 '14 at 1:28
• No. Only the text "No mesh avaiable for stage" is displayed. – NOhs Jan 12 '14 at 1:37
• Have you enabled the D3D debug layer? Any interesting warning messages showing up? – Nathan Reed Jan 12 '14 at 6:14

## 1 Answer

From looking at your (no longer available) vslog it would appear you have the first and second parameter in your draw call mixed up as it says Draw(0, 3).

The first parameter is the vertex count and the second parameter is the start offset. See the documentation about ID3D11DeviceContext::Draw method.