Warning - SetPrivateData

Started by
4 comments, last by XVincentX 12 years, 3 months ago
I am getting this warning
D3D10: WARNING: ID3D10Buffer::SetPrivateData: Existing private data of same name with different size found! [ STATE_SETTING WARNING #55: SETPRIVATEDATA_CHANGINGPARAMS][/quote]

I am not calling this method directly but there are several methods that do that implicitly. There are two methods that are causing this problem. The first one is ID3DX10Font::DrawText, the second is IDXGISwapChain::Present. Interesting is that in the output of Visual Studio I am getting only the warning for DrawText, whereas in the diagnostic log of PIX I am getting both warnings. The other important information from PIX is that this warning is only issued in the first frame. Here is the log of the first two frames:
Frame 000001 ....PRE: Frame(1)
Trigger 'Frame 1' fired
Created PIXRun file at: C:\Users\Conn\AppData\Local\Temp\PIX3421.tmp
Frame 000001 ........PRE: D3D10CreateDeviceAndSwapChain(NULL, D3D10_DRIVER_TYPE_HARDWARE, NULL, 2, 29, 0x0018FAA8, 0x0018FE7C, 0x0018FE78)
Frame 000001 ............PRE: AddObject(D3D10 Device, 0x037B2310, 0x01ED8290)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Device, 0x037B2310, 0x01ED8290)
Frame 000001 ............PRE: AddObject(DXGI Factory, 0x037B3800, 0x01ECEF08)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Factory, 0x037B3800, 0x01ECEF08)
Frame 000001 ............PRE: AddObject(DXGI Adapter, 0x037B3850, 0x00029B30)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Adapter, 0x037B3850, 0x00029B30)
Frame 000001 ............PRE: AddObject(DXGI Device, 0x037B38A8, 0x01ED9480)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Device, 0x037B38A8, 0x01ED9480)
Frame 000001 ............PRE: AddObject(DXGI Swap Chain, 0x037A5EE0, 0x01ED1F30)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Swap Chain, 0x037A5EE0, 0x01ED1F30)
Frame 000001 ............PRE: AddObject(DXGI Surface, 0x037A5F78, 0x01ED254C)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Surface, 0x037A5F78, 0x01ED254C)
Frame 000001 ............PRE: AddObject(D3D10 Texture2D, 0x037A5FD8, 0x01ED2160)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Texture2D, 0x037A5FD8, 0x01ED2160)
Frame 000001 ........POST: <S_OK> D3D10CreateDeviceAndSwapChain(NULL, D3D10_DRIVER_TYPE_HARDWARE, NULL, 2, 29, 0x0018FAA8, 0x0018FE7C, 0x0018FE78)
Frame 000001 ........PRE: <this=0x037a5ee0>IDXGISwapChain::ResizeBuffers(1, 800, 600, DXGI_FORMAT_R8G8B8A8_UNORM, 0)
Frame 000001 ............PRE: AddObject(DXGI Surface, 0x037A6078, 0x01ED254C)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Surface, 0x037A6078, 0x01ED254C)
Frame 000001 ............PRE: AddObject(D3D10 Texture2D, 0x037A60D8, 0x01ED2160)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Texture2D, 0x037A60D8, 0x01ED2160)
Frame 000001 ............PRE: RemoveObject(DXGI Surface, 0x037A5F78, 0x01ED254C)
Frame 000001 ............POST: <> RemoveObject(DXGI Surface, 0x037A5F78, 0x01ED254C)
Frame 000001 ............PRE: RemoveObject(D3D10 Texture2D, 0x037A5FD8, 0x01ED2160)
Frame 000001 ............POST: <> RemoveObject(D3D10 Texture2D, 0x037A5FD8, 0x01ED2160)
Frame 000001 ........POST: <S_OK><this=0x037a5ee0> IDXGISwapChain::ResizeBuffers(1, 800, 600, DXGI_FORMAT_R8G8B8A8_UNORM, 0)
Frame 000001 ........PRE: <this=0x037a5ee0>IDXGISwapChain::GetBuffer(0, IID_ID3D10Texture2D, 0x0018F8B4)
Frame 000001 ........POST: <S_OK><this=0x037a5ee0> IDXGISwapChain::GetBuffer(0, IID_ID3D10Texture2D, 0x0018F8B4)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateRenderTargetView(0x037A60D8, NULL, 0x0018FE84)
Frame 000001 ............PRE: AddObject(D3D10 Render Target View, 0x037A5F78, 0x01ED2618)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Render Target View, 0x037A5F78, 0x01ED2618)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateRenderTargetView(0x037A60D8, NULL, 0x0018FE84)
Frame 000001 ........PRE: <this=0x037a60d8>ID3D10Texture2D::Release()
Frame 000001 ........POST: <0><this=0x037a60d8> ID3D10Texture2D::Release()
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateTexture2D(0x0018F868, NULL, 0x0018FE80)
Frame 000001 ............PRE: AddObject(D3D10 Texture2D, 0x037A5FD0, 0x01ED2A08)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Texture2D, 0x037A5FD0, 0x01ED2A08)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateTexture2D(0x0018F868, NULL, 0x0018FE80)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateDepthStencilView(0x037A5FD0, NULL, 0x0018FE88)
Frame 000001 ............PRE: AddObject(D3D10 Depth-Stencil View, 0x037A6178, 0x01ED2EC0)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Depth-Stencil View, 0x037A6178, 0x01ED2EC0)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateDepthStencilView(0x037A5FD0, NULL, 0x0018FE88)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::OMSetRenderTargets(1, 0x0018FE84, 0x037A6178)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::OMSetRenderTargets(1, 0x0018FE84, 0x037A6178)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::RSSetViewports(1, 0x0018F830)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::RSSetViewports(1, 0x0018F830)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateBlendState(0x0018FA28, 0x01ED32D4)
Frame 000001 ............PRE: AddObject(D3D10 Blend State, 0x037A61D0, 0x01ED3890)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Blend State, 0x037A61D0, 0x01ED3890)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateBlendState(0x0018FA28, 0x01ED32D4)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateDepthStencilState(0x0018F9F4, 0x01ED32D8)
Frame 000001 ............PRE: AddObject(D3D10 Depth-Stencil State, 0x037A6370, 0x01ED3C60)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Depth-Stencil State, 0x037A6370, 0x01ED3C60)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateDepthStencilState(0x0018F9F4, 0x01ED32D8)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::AddRef()
Frame 000001 ........POST: <24><this=0x037b2310> ID3D10Device::AddRef()
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::ClearRenderTargetView(0x037A5F78, 0x0018FEB4)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::ClearRenderTargetView(0x037A5F78, 0x0018FEB4)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::ClearDepthStencilView(0x037A6178, 3, 1.000f, 0)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::ClearDepthStencilView(0x037A6178, 3, 1.000f, 0)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::OMSetBlendState(0x037A61D0, 0x0018FAA0, -1)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::OMSetBlendState(0x037A61D0, 0x0018FAA0, -1)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::OMSetDepthStencilState(0x037A6370, 0)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::OMSetDepthStencilState(0x037A6370, 0)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateTexture2D(0x0018F618, NULL, 0x0018F614)
Frame 000001 ............PRE: AddObject(D3D10 Texture2D, 0x037A63F8, 0x01ED5500)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Texture2D, 0x037A63F8, 0x01ED5500)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateTexture2D(0x0018F618, NULL, 0x0018F614)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateTexture2D(0x0018F618, NULL, 0x0018F610)
Frame 000001 ............PRE: AddObject(D3D10 Texture2D, 0x037A6498, 0x01ED59B8)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Texture2D, 0x037A6498, 0x01ED59B8)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateTexture2D(0x0018F618, NULL, 0x0018F610)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateShaderResourceView(0x037A63F8, 0x0018F5E8, 0x01ECECA8)
Frame 000001 ............PRE: AddObject(D3D10 Shader Resource View, 0x037A6538, 0x01ED5E70)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Shader Resource View, 0x037A6538, 0x01ED5E70)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateShaderResourceView(0x037A63F8, 0x0018F5E8, 0x01ECECA8)
Frame 000001 ........PRE: <this=0x037a63f8>ID3D10Texture2D::Release()
Frame 000001 ........POST: <0><this=0x037a63f8> ID3D10Texture2D::Release()
Frame 000001 ........PRE: <this=0x037a6498>ID3D10Texture2D::Map(0, D3D10_MAP_WRITE, 0, 0x0018F65C)
Frame 000001 ........POST: <S_OK><this=0x037a6498> ID3D10Texture2D::Map(0, D3D10_MAP_WRITE, 0, 0x0018F65C)
Frame 000001 ........PRE: <this=0x037a6498>ID3D10Texture2D::Unmap(0)
Frame 000001 ........POST: <><this=0x037a6498> ID3D10Texture2D::Unmap(0)
Frame 000001 ........PRE: <this=0x037a6498>ID3D10Texture2D::Map(0, D3D10_MAP_WRITE, 0, 0x0018F664)
Frame 000001 ........POST: <S_OK><this=0x037a6498> ID3D10Texture2D::Map(0, D3D10_MAP_WRITE, 0, 0x0018F664)
Frame 000001 ........PRE: <this=0x037a6498>ID3D10Texture2D::Unmap(0)
Frame 000001 ........POST: <><this=0x037a6498> ID3D10Texture2D::Unmap(0)
Frame 000001 ........PRE: <this=0x037a6538>ID3D10ShaderResourceView::GetResource(0x0018F6BC)
Frame 000001 ........POST: <><this=0x037a6538> ID3D10ShaderResourceView::GetResource(0x0018F6BC)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CopyResource(0x037A63F8, 0x037A6498)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::CopyResource(0x037A63F8, 0x037A6498)
Frame 000001 ........PRE: <this=0x037a63f8>ID3D10Texture2D::Release()
Frame 000001 ........POST: <0><this=0x037a63f8> ID3D10Texture2D::Release()
Frame 000001 ........PRE: <this=0x037a6498>ID3D10Texture2D::Map(0, D3D10_MAP_WRITE, 0, 0x0018F664)
Frame 000001 ........POST: <S_OK><this=0x037a6498> ID3D10Texture2D::Map(0, D3D10_MAP_WRITE, 0, 0x0018F664)
Frame 000001 ........PRE: <this=0x037a6498>ID3D10Texture2D::Unmap(0)
Frame 000001 ........POST: <><this=0x037a6498> ID3D10Texture2D::Unmap(0)
Frame 000001 ........PRE: <this=0x037a6538>ID3D10ShaderResourceView::GetResource(0x0018F6BC)
Frame 000001 ........POST: <><this=0x037a6538> ID3D10ShaderResourceView::GetResource(0x0018F6BC)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CopyResource(0x037A63F8, 0x037A6498)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::CopyResource(0x037A63F8, 0x037A6498)
Frame 000001 ........PRE: <this=0x037a63f8>ID3D10Texture2D::Release()
Frame 000001 ........POST: <0><this=0x037a63f8> ID3D10Texture2D::Release()
Frame 000001 ........PRE: <this=0x037a6498>ID3D10Texture2D::Map(0, D3D10_MAP_WRITE, 0, 0x0018F664)
Frame 000001 ........POST: <S_OK><this=0x037a6498> ID3D10Texture2D::Map(0, D3D10_MAP_WRITE, 0, 0x0018F664)
Frame 000001 ........PRE: <this=0x037a6498>ID3D10Texture2D::Unmap(0)
Frame 000001 ........POST: <><this=0x037a6498> ID3D10Texture2D::Unmap(0)
Frame 000001 ........PRE: <this=0x037a6538>ID3D10ShaderResourceView::GetResource(0x0018F6BC)
Frame 000001 ........POST: <><this=0x037a6538> ID3D10ShaderResourceView::GetResource(0x0018F6BC)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CopyResource(0x037A63F8, 0x037A6498)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::CopyResource(0x037A63F8, 0x037A6498)
Frame 000001 ........PRE: <this=0x037a63f8>ID3D10Texture2D::Release()
Frame 000001 ........POST: <0><this=0x037a63f8> ID3D10Texture2D::Release()
Frame 000001 ........PRE: <this=0x037a6498>ID3D10Texture2D::Map(0, D3D10_MAP_WRITE, 0, 0x0018F664)
Frame 000001 ........POST: <S_OK><this=0x037a6498> ID3D10Texture2D::Map(0, D3D10_MAP_WRITE, 0, 0x0018F664)
Frame 000001 ........PRE: <this=0x037a6498>ID3D10Texture2D::Unmap(0)
Frame 000001 ........POST: <><this=0x037a6498> ID3D10Texture2D::Unmap(0)
Frame 000001 ........PRE: <this=0x037a6538>ID3D10ShaderResourceView::GetResource(0x0018F6BC)
Frame 000001 ........POST: <><this=0x037a6538> ID3D10ShaderResourceView::GetResource(0x0018F6BC)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CopyResource(0x037A63F8, 0x037A6498)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::CopyResource(0x037A63F8, 0x037A6498)
Frame 000001 ........PRE: <this=0x037a63f8>ID3D10Texture2D::Release()
Frame 000001 ........POST: <0><this=0x037a63f8> ID3D10Texture2D::Release()
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::AddRef()
Frame 000001 ........POST: <35><this=0x037b2310> ID3D10Device::AddRef()
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateGeometryShader(0x01EE9AD8, 2864, 0x01ED6524)
Frame 000001 ............PRE: AddObject(D3D10 Geometry Shader, 0x037A6590, 0x01EE8200)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Geometry Shader, 0x037A6590, 0x01EE8200)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateGeometryShader(0x01EE9AD8, 2864, 0x01ED6524)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreatePixelShader(0x01EE9938, 676, 0x01ED6528)
Frame 000001 ............PRE: AddObject(D3D10 Pixel Shader, 0x037A7128, 0x01EE8640)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Pixel Shader, 0x037A7128, 0x01EE8640)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreatePixelShader(0x01EE9938, 676, 0x01ED6528)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreatePixelShader(0x01EE9D50, 676, 0x01ED652C)
Frame 000001 ............PRE: AddObject(D3D10 Pixel Shader, 0x037A7430, 0x01EE8A58)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Pixel Shader, 0x037A7430, 0x01EE8A58)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreatePixelShader(0x01EE9D50, 676, 0x01ED652C)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateVertexShader(0x01EEA718, 1016, 0x01ED6520)
Frame 000001 ............PRE: AddObject(D3D10 Vertex Shader, 0x037A7738, 0x01EE8F50)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Vertex Shader, 0x037A7738, 0x01EE8F50)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateVertexShader(0x01EEA718, 1016, 0x01ED6520)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateSamplerState(0x0018F5BC, 0x01ED6530)
Frame 000001 ............PRE: AddObject(D3D10 Sampler State, 0x037A7B90, 0x01EE9368)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Sampler State, 0x037A7B90, 0x01EE9368)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateSamplerState(0x0018F5BC, 0x01ED6530)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateInputLayout(0x0018F604, 7, 0x01EEA718, 1016, 0x01ED6544)
Frame 000001 ............PRE: AddObject(D3D10 Input Layout, 0x037A7BE0, 0x01EE9738)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Input Layout, 0x037A7BE0, 0x01EE9738)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateInputLayout(0x0018F604, 7, 0x01EEA718, 1016, 0x01ED6544)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateBuffer(0x0018F5F0, NULL, 0x01ED6540)
Frame 000001 ............PRE: AddObject(D3D10 Buffer, 0x0380EAA0, 0x01EE9B48)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Buffer, 0x0380EAA0, 0x01EE9B48)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateBuffer(0x0018F5F0, NULL, 0x01ED6540)
Frame 000001 ........PRE: <this=0x0380eaa0>ID3D10Buffer::SetPrivateData({0x429b8c22, 0x9188, 0x4b0c, 0x87, 0x42, 0xac, 0xb0, 0xbf, 0x85, 0xc2, 0x00}, 29, 0x0018F6C8)
Frame 000001 ........POST: <S_OK><this=0x0380eaa0> ID3D10Buffer::SetPrivateData({0x429b8c22, 0x9188, 0x4b0c, 0x87, 0x42, 0xac, 0xb0, 0xbf, 0x85, 0xc2, 0x00}, 29, 0x0018F6C8)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::CreateBuffer(0x0018F5F0, NULL, 0x01ED653C)
Frame 000001 ............PRE: AddObject(D3D10 Buffer, 0x0380EB38, 0x01EEA6F0)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Buffer, 0x0380EB38, 0x01EEA6F0)
Frame 000001 ........POST: <S_OK><this=0x037b2310> ID3D10Device::CreateBuffer(0x0018F5F0, NULL, 0x01ED653C)
Frame 000001 ........PRE: <this=0x0380eaa0>ID3D10Buffer::SetPrivateData({0x429b8c22, 0x9188, 0x4b0c, 0x87, 0x42, 0xac, 0xb0, 0xbf, 0x85, 0xc2, 0x00}, 27, 0x0018F6E8)
D3D10: WARNING: ID3D10Buffer::SetPrivateData: Existing private data of same name with different size found! [ STATE_SETTING WARNING #55: SETPRIVATEDATA_CHANGINGPARAMS ]
Frame 000001 ........POST: <S_OK><this=0x0380eaa0> ID3D10Buffer::SetPrivateData({0x429b8c22, 0x9188, 0x4b0c, 0x87, 0x42, 0xac, 0xb0, 0xbf, 0x85, 0xc2, 0x00}, 27, 0x0018F6E8)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::IASetInputLayout(0x037A7BE0)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::IASetInputLayout(0x037A7BE0)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::IASetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY_POINTLIST)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::IASetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY_POINTLIST)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::IASetVertexBuffers(0, 1, 0x01ED653C, 0x0018F6D4, 0x0018F6D0)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::IASetVertexBuffers(0, 1, 0x01ED653C, 0x0018F6D4, 0x0018F6D0)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::RSGetViewports(0x0018F75C, 0x0018F920)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::RSGetViewports(0x0018F75C, 0x0018F920)
D3DX10: (INFO) Using AMD optimizations

Frame 000001 ........PRE: <this=0x0380eaa0>ID3D10Buffer::Map(D3D10_MAP_WRITE_DISCARD, 0, 0x0018F6B8)
Frame 000001 ........POST: <S_OK><this=0x0380eaa0> ID3D10Buffer::Map(D3D10_MAP_WRITE_DISCARD, 0, 0x0018F6B8)
Frame 000001 ........PRE: <this=0x0380eaa0>ID3D10Buffer::Unmap()
Frame 000001 ........POST: <><this=0x0380eaa0> ID3D10Buffer::Unmap()
Frame 000001 ........PRE: <this=0x0380eb38>ID3D10Buffer::Map(D3D10_MAP_WRITE_NO_OVERWRITE, 0, 0x0018F6A0)
Frame 000001 ........POST: <S_OK><this=0x0380eb38> ID3D10Buffer::Map(D3D10_MAP_WRITE_NO_OVERWRITE, 0, 0x0018F6A0)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::PSSetShaderResources(0, 1, 0x0018F69C)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::PSSetShaderResources(0, 1, 0x0018F69C)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::VSSetShader(0x037A7738)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::VSSetShader(0x037A7738)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::GSSetShader(0x037A6590)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::GSSetShader(0x037A6590)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::GSSetConstantBuffers(0, 1, 0x01ED6540)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::GSSetConstantBuffers(0, 1, 0x01ED6540)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::PSSetSamplers(0, 1, 0x01ED6530)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::PSSetSamplers(0, 1, 0x01ED6530)
Frame 000001 ........PRE: <this=0x037a6538>ID3D10ShaderResourceView::GetDesc(0x0018F62C)
Frame 000001 ........POST: <><this=0x037a6538> ID3D10ShaderResourceView::GetDesc(0x0018F62C)
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::PSSetShader(0x037A7128)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::PSSetShader(0x037A7128)
Frame 000001 ........PRE: <this=0x037a6538>ID3D10ShaderResourceView::GetDesc(0x0018F62C)
Frame 000001 ........POST: <><this=0x037a6538> ID3D10ShaderResourceView::GetDesc(0x0018F62C)
Frame 000001 ........PRE: <this=0x037a6538>ID3D10ShaderResourceView::GetDesc(0x0018F62C)
Frame 000001 ........POST: <><this=0x037a6538> ID3D10ShaderResourceView::GetDesc(0x0018F62C)
Frame 000001 ........PRE: <this=0x037a6538>ID3D10ShaderResourceView::GetDesc(0x0018F62C)
Frame 000001 ........POST: <><this=0x037a6538> ID3D10ShaderResourceView::GetDesc(0x0018F62C)
Frame 000001 ........PRE: <this=0x0380eb38>ID3D10Buffer::Unmap()
Frame 000001 ........POST: <><this=0x0380eb38> ID3D10Buffer::Unmap()
Frame 000001 ........PRE: <this=0x037b2310>ID3D10Device::Draw(4, 0)
Frame 000001 ........POST: <><this=0x037b2310> ID3D10Device::Draw(4, 0)
Frame 000001 ........PRE: <this=0x037a5ee0>IDXGISwapChain::Present(0, 0)
D3D10: WARNING: ID3D10Buffer::SetPrivateData: Existing private data of same name with different size found! [ STATE_SETTING WARNING #55: SETPRIVATEDATA_CHANGINGPARAMS ]
Frame 000001 ........POST: <S_OK><this=0x037a5ee0> IDXGISwapChain::Present(0, 0)
Frame 000001 ....POST: <> Frame(1)
Frame 000002 ....PRE: Frame(2)
Frame 000002 ........PRE: <this=0x037b2310>ID3D10Device::ClearRenderTargetView(0x037A5F78, 0x0018FEB4)
Frame 000002 ........POST: <><this=0x037b2310> ID3D10Device::ClearRenderTargetView(0x037A5F78, 0x0018FEB4)
Frame 000002 ........PRE: <this=0x037b2310>ID3D10Device::ClearDepthStencilView(0x037A6178, 3, 1.000f, 0)
Frame 000002 ........POST: <><this=0x037b2310> ID3D10Device::ClearDepthStencilView(0x037A6178, 3, 1.000f, 0)
Frame 000002 ........PRE: <this=0x037b2310>ID3D10Device::OMSetDepthStencilState(0x037A6370, 0)
Frame 000002 ........POST: <><this=0x037b2310> ID3D10Device::OMSetDepthStencilState(0x037A6370, 0)
Frame 000002 ........PRE: <this=0x037b2310>ID3D10Device::RSGetViewports(0x0018F75C, 0x0018F920)
Frame 000002 ........POST: <><this=0x037b2310> ID3D10Device::RSGetViewports(0x0018F75C, 0x0018F920)
Frame 000002 ........PRE: <this=0x037b2310>ID3D10Device::GSSetShader(0x037A6590)
Frame 000002 ........POST: <><this=0x037b2310> ID3D10Device::GSSetShader(0x037A6590)
Frame 000002 ........PRE: <this=0x037b2310>ID3D10Device::GSSetConstantBuffers(0, 1, 0x01ED6540)
Frame 000002 ........POST: <><this=0x037b2310> ID3D10Device::GSSetConstantBuffers(0, 1, 0x01ED6540)
Frame 000002 ........PRE: <this=0x037a5ee0>IDXGISwapChain::Present(0, 0)
Frame 000002 ........POST: <S_OK><this=0x037a5ee0> IDXGISwapChain::Present(0, 0)
Frame 000002 ....POST: <> Frame(2)


Looking closely at the log you can see what is most problably causing the problem with the call to DrawText. Two times the SetPrivateData is called with nearly identical parameters:
ID3D10Buffer::SetPrivateData({0x429b8c22, 0x9188, 0x4b0c, 0x87, 0x42, 0xac, 0xb0, 0xbf, 0x85, 0xc2, 0x00}, 29, 0x0018F6C8)
SetPrivateData({0x429b8c22, 0x9188, 0x4b0c, 0x87, 0x42, 0xac, 0xb0, 0xbf, 0x85, 0xc2, 0x00}, 27, 0x0018F6E8)[/quote]
On the other hand the SetPrivateData method isn't called after that and still I get a second warning. For comparison this is the log when I delete the DrawText line:
Frame 000001 ....PRE: Frame(1)
Trigger 'Program Start' fired
Frame 000001 ........PRE: D3D10CreateDeviceAndSwapChain(NULL, D3D10_DRIVER_TYPE_HARDWARE, NULL, 2, 29, 0x0022FBD8, 0x0102814C, 0x01028148)
Frame 000001 ............PRE: AddObject(D3D10 Device, 0x03773ED8, 0x00A895F0)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Device, 0x03773ED8, 0x00A895F0)
Frame 000001 ............PRE: AddObject(DXGI Factory, 0x037DEF58, 0x00A7B560)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Factory, 0x037DEF58, 0x00A7B560)
Frame 000001 ............PRE: AddObject(DXGI Adapter, 0x03782C70, 0x0030AD80)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Adapter, 0x03782C70, 0x0030AD80)
Frame 000001 ............PRE: AddObject(DXGI Device, 0x03782CC8, 0x00A8A7E0)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Device, 0x03782CC8, 0x00A8A7E0)
Frame 000001 ............PRE: AddObject(DXGI Swap Chain, 0x03782D28, 0x00A8EF40)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Swap Chain, 0x03782D28, 0x00A8EF40)
Frame 000001 ............PRE: AddObject(DXGI Surface, 0x03782DC0, 0x00A8F55C)
Frame 000001 ............POST: <TRUE> AddObject(DXGI Surface, 0x03782DC0, 0x00A8F55C)
Frame 000001 ............PRE: AddObject(D3D10 Texture2D, 0x03782E20, 0x00A8F170)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Texture2D, 0x03782E20, 0x00A8F170)
Frame 000001 ........POST: <S_OK> D3D10CreateDeviceAndSwapChain(NULL, D3D10_DRIVER_TYPE_HARDWARE, NULL, 2, 29, 0x0022FBD8, 0x0102814C, 0x01028148)
Frame 000001 ........PRE: <this=0x03782d28>IDXGISwapChain::GetBuffer(0, IID_ID3D10Texture2D, 0x0022FBC0)
Frame 000001 ........POST: <S_OK><this=0x03782d28> IDXGISwapChain::GetBuffer(0, IID_ID3D10Texture2D, 0x0022FBC0)
Frame 000001 ........PRE: <this=0x03773ed8>ID3D10Device::CreateRenderTargetView(0x03782E20, NULL, 0x01028150)
Frame 000001 ............PRE: AddObject(D3D10 Render Target View, 0x03782EC0, 0x00A8F628)
Frame 000001 ............POST: <TRUE> AddObject(D3D10 Render Target View, 0x03782EC0, 0x00A8F628)
Frame 000001 ........POST: <S_OK><this=0x03773ed8> ID3D10Device::CreateRenderTargetView(0x03782E20, NULL, 0x01028150)
Frame 000001 ........PRE: <this=0x03782e20>ID3D10Texture2D::Release()
Frame 000001 ........POST: <0><this=0x03782e20> ID3D10Texture2D::Release()
Frame 000001 ........PRE: <this=0x03773ed8>ID3D10Device::OMSetRenderTargets(1, 0x01028150, NULL)
Frame 000001 ........POST: <><this=0x03773ed8> ID3D10Device::OMSetRenderTargets(1, 0x01028150, NULL)
Frame 000001 ........PRE: <this=0x03773ed8>ID3D10Device::RSSetViewports(1, 0x0022FBA0)
Frame 000001 ........POST: <><this=0x03773ed8> ID3D10Device::RSSetViewports(1, 0x0022FBA0)
Frame 000001 ........PRE: <this=0x03773ed8>ID3D10Device::ClearRenderTargetView(0x03782EC0, 0x0022FC68)
Frame 000001 ........POST: <><this=0x03773ed8> ID3D10Device::ClearRenderTargetView(0x03782EC0, 0x0022FC68)
Frame 000001 ........PRE: <this=0x03782d28>IDXGISwapChain::Present(0, 0)
D3D10: WARNING: ID3D10Buffer::SetPrivateData: Existing private data of same name with different size found! [ STATE_SETTING WARNING #55: SETPRIVATEDATA_CHANGINGPARAMS ]
D3D10: INFO: ID3D10Device::IASetPrimitiveTopology: Topology value D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED is OK to set during IASetPrimitiveTopology; but will not be valid for any Draw routine. [ STATE_SETTING INFO #237: DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED ]
Frame 000001 ........POST: <S_OK><this=0x03782d28> IDXGISwapChain::Present(0, 0)
Frame 000001 ....POST: <> Frame(1)


Again this warning but only one time since the DrawText is missing. A new warning as well but I guess this is because DrawText is calling IASetPrimitiveTopology and without this there is no explicit call of this method, hence the warning.

I couldn't find anything wrong but since I am quite inexperienced I assumed that there might be something wrong with my code base. I installed a DirectX sample from the SDK (Tutorial 01: Direct3D 10 Basics).
It's just a viewport with nothing in it, especially no text. Started PIX again -> 1 Warning (Visual Studio 0). Added a font object with a simple one word output -> PIX 2 Warnings, VS 1. Regarding the warnings nothing changed from my code. In fact the two diagnostic logs I presented were from the SDK sample, first one modified with a text output, second one unmodified. Here is the SDK sample with the added font code, just for the sake of completeness:
//--------------------------------------------------------------------------------------
// File: Tutorial01.cpp
//
// This application demonstrates creating a Direct3D 10 device
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//--------------------------------------------------------------------------------------
#include <windows.h>
#include <d3d10.h>
#include <d3dx10.h>
#include "resource.h"


//--------------------------------------------------------------------------------------
// Global Variables
//--------------------------------------------------------------------------------------
HINSTANCE g_hInst = NULL;
HWND g_hWnd = NULL;
D3D10_DRIVER_TYPE g_driverType = D3D10_DRIVER_TYPE_NULL;
ID3D10Device* g_pd3dDevice = NULL;
IDXGISwapChain* g_pSwapChain = NULL;
ID3D10RenderTargetView* g_pRenderTargetView = NULL;
ID3DX10Font* font = 0;


//--------------------------------------------------------------------------------------
// Forward declarations
//--------------------------------------------------------------------------------------
HRESULT InitWindow( HINSTANCE hInstance, int nCmdShow );
HRESULT InitDevice();
void CleanupDevice();
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );
void Render();


//--------------------------------------------------------------------------------------
// Entry point to the program. Initializes everything and goes into a message processing
// loop. Idle time is used to render the scene.
//--------------------------------------------------------------------------------------
int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow )
{
UNREFERENCED_PARAMETER( hPrevInstance );
UNREFERENCED_PARAMETER( lpCmdLine );

if( FAILED( InitWindow( hInstance, nCmdShow ) ) )
return 0;

if( FAILED( InitDevice() ) )
{
CleanupDevice();
return 0;
}

// Main message loop
MSG msg = {0};
while( WM_QUIT != msg.message )
{
if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
{
Render();
}
}

CleanupDevice();

return ( int )msg.wParam;
}


//--------------------------------------------------------------------------------------
// Register class and create window
//--------------------------------------------------------------------------------------
HRESULT InitWindow( HINSTANCE hInstance, int nCmdShow )
{
// Register class
WNDCLASSEX wcex;
wcex.cbSize = sizeof( WNDCLASSEX );
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon( hInstance, ( LPCTSTR )IDI_TUTORIAL1 );
wcex.hCursor = LoadCursor( NULL, IDC_ARROW );
wcex.hbrBackground = ( HBRUSH )( COLOR_WINDOW + 1 );
wcex.lpszMenuName = NULL;
wcex.lpszClassName = L"TutorialWindowClass";
wcex.hIconSm = LoadIcon( wcex.hInstance, ( LPCTSTR )IDI_TUTORIAL1 );
if( !RegisterClassEx( &wcex ) )
return E_FAIL;

// Create window
g_hInst = hInstance;
RECT rc = { 0, 0, 640, 480 };
AdjustWindowRect( &rc, WS_OVERLAPPEDWINDOW, FALSE );
g_hWnd = CreateWindow( L"TutorialWindowClass", L"Direct3D 10 Tutorial 1: Direct3D 10 Basics", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, rc.right - rc.left, rc.bottom - rc.top, NULL, NULL, hInstance,
NULL );
if( !g_hWnd )
return E_FAIL;

ShowWindow( g_hWnd, nCmdShow );

return S_OK;
}


//--------------------------------------------------------------------------------------
// Called every time the application receives a message
//--------------------------------------------------------------------------------------
LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
{
PAINTSTRUCT ps;
HDC hdc;

switch( message )
{
case WM_PAINT:
hdc = BeginPaint( hWnd, &ps );
EndPaint( hWnd, &ps );
break;

case WM_DESTROY:
PostQuitMessage( 0 );
break;

default:
return DefWindowProc( hWnd, message, wParam, lParam );
}

return 0;
}


//--------------------------------------------------------------------------------------
// Create Direct3D device and swap chain
//--------------------------------------------------------------------------------------
HRESULT InitDevice()
{
HRESULT hr = S_OK;;

RECT rc;
GetClientRect( g_hWnd, &rc );
UINT width = rc.right - rc.left;
UINT height = rc.bottom - rc.top;

UINT createDeviceFlags = 0;
#ifdef _DEBUG
createDeviceFlags |= D3D10_CREATE_DEVICE_DEBUG;
#endif

D3D10_DRIVER_TYPE driverTypes[] =
{
D3D10_DRIVER_TYPE_HARDWARE,
D3D10_DRIVER_TYPE_REFERENCE,
};
UINT numDriverTypes = sizeof( driverTypes ) / sizeof( driverTypes[0] );

DXGI_SWAP_CHAIN_DESC sd;
ZeroMemory( &sd, sizeof( sd ) );
sd.BufferCount = 1;
sd.BufferDesc.Width = width;
sd.BufferDesc.Height = height;
sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
sd.BufferDesc.RefreshRate.Numerator = 60;
sd.BufferDesc.RefreshRate.Denominator = 1;
sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
sd.OutputWindow = g_hWnd;
sd.SampleDesc.Count = 1;
sd.SampleDesc.Quality = 0;
sd.Windowed = TRUE;

for( UINT driverTypeIndex = 0; driverTypeIndex < numDriverTypes; driverTypeIndex++ )
{
g_driverType = driverTypes[driverTypeIndex];
hr = D3D10CreateDeviceAndSwapChain( NULL, g_driverType, NULL, createDeviceFlags,
D3D10_SDK_VERSION, &sd, &g_pSwapChain, &g_pd3dDevice );
if( SUCCEEDED( hr ) )
break;
}
if( FAILED( hr ) )
return hr;

// Create a render target view
ID3D10Texture2D* pBackBuffer;
hr = g_pSwapChain->GetBuffer( 0, __uuidof( ID3D10Texture2D ), ( LPVOID* )&pBackBuffer );
if( FAILED( hr ) )
return hr;

hr = g_pd3dDevice->CreateRenderTargetView( pBackBuffer, NULL, &g_pRenderTargetView );
pBackBuffer->Release();
if( FAILED( hr ) )
return hr;

g_pd3dDevice->OMSetRenderTargets( 1, &g_pRenderTargetView, NULL );

// Setup the viewport
D3D10_VIEWPORT vp;
vp.Width = width;
vp.Height = height;
vp.MinDepth = 0.0f;
vp.MaxDepth = 1.0f;
vp.TopLeftX = 0;
vp.TopLeftY = 0;
g_pd3dDevice->RSSetViewports( 1, &vp );

D3DX10_FONT_DESC fontDesc;
fontDesc.Height = 24;
fontDesc.Width = 0;
fontDesc.Weight = 0;
fontDesc.MipLevels = 1;
fontDesc.Italic = false;
fontDesc.CharSet = DEFAULT_CHARSET;
fontDesc.OutputPrecision = OUT_DEFAULT_PRECIS;
fontDesc.Quality = DEFAULT_QUALITY;
fontDesc.PitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
wcscpy(fontDesc.FaceName, L"Times New Roman");

D3DX10CreateFontIndirect(g_pd3dDevice, &fontDesc, &font);

return S_OK;
}


//--------------------------------------------------------------------------------------
// Render the frame
//--------------------------------------------------------------------------------------
void Render()
{
// Just clear the backbuffer
float ClearColor[4] = { 0.0f, 0.125f, 0.3f, 1.0f }; //red,green,blue,alpha
g_pd3dDevice->ClearRenderTargetView( g_pRenderTargetView, ClearColor );

RECT rectangle = {5, 5, 110, 110};
D3DXCOLOR white(1.0f, 1.0f, 1.0f, 1.0f);
font->DrawText(0, L"warning", -1, &rectangle, DT_NOCLIP, white);

g_pSwapChain->Present( 0, 0 );
}


//--------------------------------------------------------------------------------------
// Clean up the objects we've created
//--------------------------------------------------------------------------------------
void CleanupDevice()
{
if( g_pd3dDevice ) g_pd3dDevice->ClearState();

if( g_pRenderTargetView ) g_pRenderTargetView->Release();
if( g_pSwapChain ) g_pSwapChain->Release();
if( g_pd3dDevice ) g_pd3dDevice->Release();
}



I searched all over the place for more information about this warning. There is very few material and even then it doesn't help. Here on gamedev there are a couple threads (for example here and here) that seem to describe the same issue but without any solution. But still many don't seem to have ever seen this kind of message, so I am wondering what's going on.

My questions are:
1. Am I missing something? Is there some error I am not seeing?
2. Under which circumstances does this warning appear. Do you have the same warning? I did a quick test with a DX9 sample and there was no warning issued. DX11 changed anything?
3. Why do I get a warning for DrawText in PIX but not in VS?
4. Should I care? Are there similar problems I should know, so that I don't waste so much time again?
5. If there is no flaw with the code itself, should I regard this as a bug? In that case I would report this.

Especially for the last question I would appreciate some validation of someone else.

Here are my specs that might be of interest:
Win7 64bit, Visual Studio 2010, DX SDK June 2010

I know that this post got pretty long but I hope that someone will answer anyway.
Advertisement
Page 2 bump.

Seriously no one with this warning? Or maybe many ignoring it? I am surprised since I am usually treating warnings as errors but that wouldn't get me that far in this case.
I would like to know answer on this question aswell. For me it seems like problem with DX Font object, but I would like to know answers on your last questions too.
This issue is known for a while; unfortunately I’ve never seen a solution.
The warning is raised by D3DX10CreateSprite, which is internally called by font->DrawText only in the first call in case you don’t pass a sprite object into the method (the font must build its own then, I guess).

Since all functions return an S_OK you can ignore the message. (That’s what everyone else does…) Try not to create too many sprites. smile.png

In Dx11 you’re supposed to use DirectWrite now, so this shouldn’t be an issue anymore.

The warning usually comes up if you set the debug name of a resource twice (happens to me mostly due to copy and paste errors).
Thank you for clear answer.
It's not the first time that Ms functions are bugged.
In this tutorial (http://www.notjustcode.it/public/FanGames/shadowMappingDX10.pdf) i wrote years ago, i describe that some MS functions are bugged and even if i wrote to Microsft support, they never answered me.

This topic is closed to new replies.

Advertisement