Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Draigan

Three D3D 8 questions

This topic is 6510 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Question the First: =================== I been trying to initialize my game on someone else''s computer. Every time I call IDirect3D8->CreateDevice(...) it fails and returns the D3DERR_INVALIDCALL error message. I assume this is one of the parameters that I am passing to CreateDevice(). He has a RAGE Pro, as do I. It works fine on mine, but like I said, returns D3DERR_INVALIDCALL. Here is the section of code: // fill parameters memset(&dp, 0, sizeof(dp)); dp.Windowed = FALSE; dp.SwapEffect = D3DSWAPEFFECT_FLIP; dp.BackBufferWidth = scrWidth; dp.BackBufferHeight = scrHeight; dp.MultiSampleType = D3DMULTISAMPLE_NONE; dp.hDeviceWindow = hwnd; dp.BackBufferFormat = m_displayMode; dp.BackBufferCount = 1; dp.EnableAutoDepthStencil = TRUE; dp.AutoDepthStencilFormat = zformat; dp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT; dp.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; m_lpD3D->CreateDevice(m_adapter, D3DDEVTYPE_HAL, hwnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &dp, &m_lpDevice); As well, when I set dp.FullScreen_RefreshRateInHz to D3DPRESENT_RATE_UNLIMITED, it fails on mine with an invalidcall error. So, maybe my friend has a driver problem. But why doesn''t D3DPRESENT_RATE_UNLIMITED work? Question the Second: ==================== I get these messages (in the output window) saying: Direct3D8: :HEL: DestroyExecuteBuffer Is this the normal message that is output when a dynamic vertex buffer gets a DISCARD call? Does D3D actually delete the old vertex buffer and create anew? Question the Third: =================== When I release some textures that I have created, I am presented with this text in the output window of Visual C++ when running in debug mode... Direct3D8: (ERROR):****************************************************** Direct3D8: (ERROR) :ASSERTION FAILED! File d:\nt_chk\multimedia\directx\dxg\d3d8\fw\mipsurf.hpp Line 78: m_cRefDebug == 0 Direct3D8: (ERROR) :***************************************************** Anyone have any idea what this means and why I am getting it? This is a video RAM texture created with no mip-map levels. From the file-name, mipsurf.hpp, it seems that maybe it has something to do with mip surfaces. Thank you all. -Dion

Share this post


Link to post
Share on other sites
Advertisement
Hey I''m taking a wild stab at "Answer the First"...
Did you enumerate the video hardware adapter modes before trying to set the fill rate to D3DPRESENT_RATE_UNLIMITED?? Perhaps the current card driver doesn''t support that option...

just my 2 cents..

Wazoo

Share this post


Link to post
Share on other sites
It seems odd that I''d have to enum the adapter modes just to be able to set to D3DPRESENT_RATE_UNLIMITED. The docs say that D3DPRESENT_RATE_UNLIMITED is used to make the presentation run as fast as the hardware can handle. If I have to enumerate to get this mode, then why have it there?

Share this post


Link to post
Share on other sites
Some cards are unable to flip unless they are in vsync. So you should set it to D3DPRESENT_INTERVAL_ONE to be on the safe side.

In response to your third question, are you releasing the textures before you release the device and D3D object? if not, do so. Also, make sure you check they are null before releasing them.



Please state the nature of the debugging emergency.


sharewaregames.20m.com

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!