Skip to main content
GameDev.net gamedev.net
🔒 Locked

Oh no, a (driver) bug!!

Started by vNistelrooy Apr 17, 2004 at 6:26 AM 8 replies 350+ views
Original Post
vNistelrooy
vNistelrooy
This is stupid. In my program you have to press space to switch from normal mode to wireframe. This works perfect, HOWEVER today I have edited my fragement shader (making it even more complex), therefore pushing my R9600pro to its limits, and now if I press space, everything freezes and then everything goes black and nothing except restarting helps. I can''t think of anything but a driver bug. All I have done was making the shader more complex.
"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"
"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"
superpig
superpig
That''s as opposed to a bug driver.

Doesn''t sound like a driver bug - more, it sounds like your shader is munching the R9600pro. Are you using the debug runtime?
Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse
vNistelrooy
vNistelrooy
Oh god, it was because of non-normalized normals. Can it be? ATi''s drivers are so stupid?



"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"

"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"
Ysaneya
Ysaneya
Re-normalizing normals has a cost. If you're using OpenGL you can use glEnable(GL_NORMALIZE) to enable it. AFAIK NVidia drivers have the same behavior, so why are you complaining?


[edited by - Ysaneya on April 17, 2004 8:51:36 AM]
superpig
superpig
As usual, the error is revealed to be in the user''s code, rather than the drivers. What a surprise.

Saying ''it''s a driver bug'' is like claiming that you didn''t score an A on a test because the teacher''s mark sheet was wrong. It''s arrogant and stupid, unless you really know your stuff.
Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse
vNistelrooy
vNistelrooy
quote:
Original post by superpig
As usual, the error is revealed to be in the user''s code, rather than the drivers. What a surprise.

Saying ''it''s a driver bug'' is like claiming that you didn''t score an A on a test because the teacher''s mark sheet was wrong. It''s arrogant and stupid, unless you really know your stuff.


I didn''t know that to display wireframe you have to normalize your normals in the shaders, did you?



"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"

"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"
superpig
superpig
quote:
Original post by CPPMaster Poppet
quote:
Original post by superpig
As usual, the error is revealed to be in the user's code, rather than the drivers. What a surprise.

Saying 'it's a driver bug' is like claiming that you didn't score an A on a test because the teacher's mark sheet was wrong. It's arrogant and stupid, unless you really know your stuff.


I didn't know that to display wireframe you have to normalize your normals in the shaders, did you?


Yes, I did.

Edit: OK, so that probably warrants a little more explanation. The wireframe shading mode only affects things when the triangles are actually being broken down into fragments/pixels for rendering (only generating start/end fragments, instead of a whole line of them). The normals aren't present in the data any more at that point - the T&L pipeline is what works with them, the vertex shader. In that part of the pipeline it doesn't know the difference between wireframe and fully shaded rendering modes.

[edited by - Superpig on April 17, 2004 10:25:10 AM]
Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse
vNistelrooy
vNistelrooy
Umm, right. It still doesn''t explain why it creates some sort of fatal error, and I have to restart. Why can''t the drivers handle this?!



"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"

"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"
_the_phantom_
_the_phantom_
its probably not the drivers, its probably the card going a bit ''funneh'', the drivers dont care what you send down the line, they only pass the infomation along, did you have VPU recover on? that might have saved you and at least allowed a controlled reboot of the system
vNistelrooy
vNistelrooy
quote:
Original post by _the_phantom_
its probably not the drivers, its probably the card going a bit ''funneh'', the drivers dont care what you send down the line, they only pass the infomation along, did you have VPU recover on? that might have saved you and at least allowed a controlled reboot of the system


Yes I do have VPU recover on. Thats what is strange.



"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"

"C lets you shoot yourself in the foot rather easily. C++ allows you to reuse the bullet!"

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.