Forum

DirectQ 1.7.3 Graphical Issues

Discuss programming topics for the various GPL'd game engine sources.

Moderator: InsideQC Admins

Postby Monster » Wed Oct 28, 2009 9:27 pm

hopefully this can lead to something :O

Back Buffer Format: X8R8G8B8
Depth/Stencil format: D24X8 (stencil buffer unavailable)
User avatar
Monster
 
Posts: 101
Joined: Sat Jan 07, 2006 10:27 pm
Location: North Carolina

Postby mh » Wed Oct 28, 2009 9:33 pm

Monster wrote:hopefully this can lead to something :O

Back Buffer Format: X8R8G8B8
Depth/Stencil format: D24X8 (stencil buffer unavailable)

Bummer, I was hoping that something strange would be there.

Gonna have to go away and think some more.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby mh » Thu Oct 29, 2009 12:01 am

OK, I think I need to know more about your card and your currently running state. The attached build is 1.7.3 (again) but includes a "d3d_infodump" command which will dump out lots of juicy info about your card that I can take away and analyze.

Could you run the d3d_infodump command at the console? This will generate a file called "driver.bin" in your Quake directory, which you'll then need to put somewhere I can download it from (one of the sharing sites will be good enough).

Source code is included for this, as I'm asking you to take me on trust that this won't extract any other info.

http://www.sendspace.com/file/t8tbhl
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Monster » Thu Oct 29, 2009 1:21 am

here it is: =)

http://www.sendspace.com/file/cink6q

Thanks again for continuing to help me on this :D
User avatar
Monster
 
Posts: 101
Joined: Sat Jan 07, 2006 10:27 pm
Location: North Carolina

Postby mh » Thu Oct 29, 2009 2:04 pm

Cheers. :D

Can't dl it from work, but I'll have a look later on today. Could you also run a dxdiag, by the way, and see if that throws up anything? At the very least it will confirm if the prob is in my code or something on your PC.

One final (maybe crazy) thought - can you set gl_cull 0 and try it?
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby mh » Thu Oct 29, 2009 9:36 pm

No joy I'm afraid; all the info in the dump comes up clean with nothing indicating trouble. I remain certain that the cause is something interfering with rendering of either one of (1) surfaces with mipmapped textures, (2) surfaces with a perspective projection set, or (3) surfaces with depth testing set. It would be great if you were in a position to be able to recompile the app, cos then I could give you a few pointers to test directly, which could turn things around a lot faster.

Did you have any luck with the gl_cull 0 or dxdiag by the way? The former was just a wild guess, and I see from your dump that your card supports all cull modes, so it shouldn't be an issue, but anything's worth trying.

Another question: I don't suppose you're overclocking anything?
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Monster » Fri Oct 30, 2009 3:07 am

gl_cull 0 had no effect... Here is my dxdiag.... I didn't notice anything unusual with it.

http://www.sendspace.com/file/xlrdm3

Nope, not overclocking anything, never have.
User avatar
Monster
 
Posts: 101
Joined: Sat Jan 07, 2006 10:27 pm
Location: North Carolina

Postby mh » Fri Oct 30, 2009 8:47 am

Testing another theory - I think I've just managed to reproduce your bug! :D

This build is totally unchanged except that it pops up a "Failed to clear" message on the console if the call to IDirect3DDevice9::Clear fails (the equivalent of glClear).

http://www.sendspace.com/file/td3m4w

If you see that message we're getting somewhere!
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Monster » Fri Oct 30, 2009 3:26 pm

Looking through qconsole.log.. i don't see that message anywhere. :O
User avatar
Monster
 
Posts: 101
Joined: Sat Jan 07, 2006 10:27 pm
Location: North Carolina

Postby r00k » Fri Oct 30, 2009 5:26 pm

Hmm, i get "d3dx9_38.dll is missiing", im running on a fresh install of Windows7, do I need to install DirectX 9, is it safe for Win7, or is windows7 using dx10?
r00k
 
Posts: 1110
Joined: Sat Nov 13, 2004 10:39 pm

Postby mh » Fri Oct 30, 2009 7:17 pm

r00k wrote:Hmm, i get "d3dx9_38.dll is missiing", im running on a fresh install of Windows7, do I need to install DirectX 9, is it safe for Win7, or is windows7 using dx10?

You're on DirectX 11 but even Windows 7 is missing a few DirectX 9 DLLs which came from runtime and SDK updates subsequent to the original 9.0c release. Perfectly safe to update your DirectX.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Labman » Fri Oct 30, 2009 8:09 pm

It seems weird to have to run an dx9 runtime update for win 7 when its running a later versoin, but I needed to do this to get DirectQ workng on Win 7 rc.

Also this weird issue sounds like its some kind of driver issue, it seems unlikly that a specific nvidia card wouldn't work. I guess it could be the dual GPU doing something crazy, maybe someone else has an SLI or Crossfire setup to test?
Labman
 
Posts: 62
Joined: Fri Nov 05, 2004 2:39 am
Location: Cambridge, United Kingdom

Postby mh » Fri Oct 30, 2009 8:53 pm

Yeah, I'm suspecting a driver issue, or maybe a corrupt or hacked runtime DLL, although it's weird that other games and dxdiag seem OK.

Anyway, here's one more build: http://www.sendspace.com/file/i3fvdp

There are 3 specific tests I need done with this one which are outlined in the readme. I need the results of all 3, even if the first one works.

If this still doesn't work I'm gonna put my D3D8 port up for testing.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby mh » Fri Oct 30, 2009 10:50 pm

Labman wrote:It seems weird to have to run an dx9 runtime update for win 7 when its running a later versoin, but I needed to do this to get DirectQ workng on Win 7 rc.


This happens to quite a few people, and apparently it happened with Fallout 3 as well. It can be difficult to understand and does seem strange, so I put up a post about it and added it to my "sticky" list: http://mhquake.blogspot.com/2009/10/thi ... start.html
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby mh » Sat Oct 31, 2009 5:00 pm

One other question that's occurred to me. When you updated your DirectX, did you download it from Microsoft or did you just get d3dx9_37 (or whatever) from dllfiles or somewhere similar? Or have you ever downloaded a missing DirectX file from one of these sites? Not just for DirectQ, but for Fallout 3 or any other game?

I ask this because it's obvious that the problem you have is either with the depth buffer or with matrix transforms. We seem to have ruled out the depth buffer, and DirectQ uses functions from the D3DX library for matrix transforms. If you have an "unofficial" version of one of the D3DX DLLs then I can't legislate for what that version might or might not be doing.

Even if you haven't I would advise that you update your DirectX again. This time, before updating, go to C:\Windows\system32 and either delete the d3dx9_*.dll files or move them to somewhere else. Then go to http://www.microsoft.com/directx and use the websetup to download and install the files you're missing.

Let me know how that goes.

WHAT I NOW BELIEVE IS HAPPENING

A 3D co-ordinate system can be either right-handed or left-handed (there are other systems too, but let's ignore them for now). OpenGL by default uses RH, Direct3D by default uses LH. Direct3D does also provide functions to use a RH system if you want, and DirectQ uses them to avoid messing with the base data.

Something on your machine does not like this. Either you have a bad driver, a bad installation of Direct3D or a bad installation of D3DX. It's not using the RH system at all, despite having been told to do so, and despite it being a required part of Direct3D.

So, let's start with seeing if D3DX is the cause, get that to a known and verified state, and work from there.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

PreviousNext

Return to Engine Programming

Who is online

Users browsing this forum: No registered users and 1 guest