paulpairbus / glintercept

Automatically exported from code.google.com/p/glintercept
0 stars 0 forks source link

GLIntercept didn't detect wrong value #6

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create an opengl program and make a glLineWidth(0) call.
2. Run it using GLIntercept.

What is the expected output? What do you see instead?
I expect to see in the error log a 'wrong value' error for the glLineWidth 
call, since zero is not a valid value.

Same goes for any other function that has specific invalid values.

What version of the product are you using? On what operating system?
1.1.0 32bit

Original issue reported on code.google.com by ita...@gmail.com on 12 Nov 2012 at 11:24

GoogleCodeExporter commented 9 years ago
GlIntercept does not do many checks for invalid values - it relies on the 
OpenGL implementation to do that. If you are not getting a GL error where you 
expect one, there is an error in the OpenGL implementation.

Original comment by dtrebi...@gmail.com on 12 Nov 2012 at 10:48

GoogleCodeExporter commented 9 years ago
The thing is, I don't write openGL code so that I put glGetError after each 
call. I depend on external tools such as GLIntercept to do debug checks for me.

If it's a good practice to put glGetError after each openGL call, please refer 
me to some official or at least well known documentation that say so. I think 
this would pose a performance problem, and in such a case I won't even need 
external debugging tools, since I do all the debugging internally, which is 
missing the point...

Original comment by ita...@gmail.com on 13 Nov 2012 at 7:59

GoogleCodeExporter commented 9 years ago
If you have the check for errors option on in GLIntercept, it is inserting a 
glGetError option after each OpenGL call. 

Do you get an error if you do a manual glGetError call?

The point I am making is that GLIntercept relies on glGetError returning an 
error on error conditions. (implementation responsibility)

What hardware / driver / OS are you on BTW?

Original comment by dtrebi...@gmail.com on 13 Nov 2012 at 1:06

GoogleCodeExporter commented 9 years ago
I checked the gliConfig.ini I used and error logging was enabled. It seem to be 
enabled in the default gliConfig.ini.

According to the default gliConfig.ini: "A OpenGL glGetError() is made after 
all appropiate OpenGL calls. ". Could it be that glLineWidth is not considered 
appropriate OpenGL call?

My video adapter is ATI Radeon HD 2400 Pro, running Win7 64bit. The driver 
version is 8.831.2.0 dated 3/8/2011 (by ATI Technologies). No newer driver 
actually exists (you would find a newer driver package online, but it actually 
installs that specific driver).

Original comment by ita...@gmail.com on 13 Nov 2012 at 1:15

GoogleCodeExporter commented 9 years ago
You mention other values you expect an error on? Can you list any others?

Is calling glLineWidth(0) then a manual glGetError() return no error?

glLineWidth should be an appropiate call unless it is within a display list - 
glGetError calls are not made when compiling a display list. 

Original comment by dtrebi...@gmail.com on 13 Nov 2012 at 2:01

GoogleCodeExporter commented 9 years ago
I can't understand - when I make a sample program that tests glLineWidth(0) 
with GLIntercept it shows "GL ERROR - Function glLineWidth generated error 
GL_INVALID_VALUE" in the log file, but when I run a real world scenario it 
doesn't.

I don't know then how to explain what's wrong, all I know is that I need it 
work in the real scenario...

Original comment by ita...@gmail.com on 13 Nov 2012 at 2:13