Hello everyone
Im currently encountering some issues with PIX. If i run my application without PIX it starts without any problems but if i run it with PIX it runs a little while und before the window shows the process already exits. If i use a replayable thats what i get:
So i can see that the last call was IDXGISwapChain::GetBuffer after that theres an error. So i went to my code which looks like that:
void GxDevice::initBuffers()
{
ID3D11Texture2D* targetBuffer = nullptr;
mSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&targetBuffer);
D3D11_RENDER_TARGET_VIEW_DESC rtvDesc; memset(&rtvDesc, 0, sizeof(rtvDesc));
rtvDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
rtvDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2D;
rtvDesc.Texture2D.MipSlice = 0;
res = mDevice->CreateRenderTargetView(targetBuffer, &rtvDesc, &mRenderView);
targetBuffer->Release();
}
So first i added a messagebox before CreateRenderTargetView and it gets hit by PIX. If i move it after CreateRenderTargetView it doesnt get hit.
Then i remembered that i have a little feature in my application that if the binary is built in debug mode and no debugger is attached it attaches a fork of itself to the process as debugger and prints all important debug events to a file. So i turned on that feature and started it again with PIX. What i get now is the following output:
http://pastebin.com/Ahgz5Ydb
With the obviously interesting line:
D3D11 CORRUPTION: ID3D11Device::CreateRenderTargetView: First parameter is corrupt! [ MISCELLANEOUS CORRUPTION #13: CORRUPTED_PARAMETER1]
So that means targetBuffer seems to be corrupt when using PIX (i dont get that message in the output if i run the application without PIX).
Anyone got an idea why this could happen?
Any help is appreciated,
Plerion
/EDIT:
Ive just seen that this is a known issue with PIX on windows 8... darn it, thats annoying, windows 8 is in such an unfinished state....






