Wrote a fuzzer that calls each method of the GL context with randomly generated argument. And found a couple segfaults from me doing stupid things. IIRC they were all related to array indexing (big surprise there, eh?)
I think I will move the fuzzer to unit.js and add in some QuickCheck functions, so that it can be used in a directed fashion, instead of just doing a million calls with random arguments (the current fuzzTheAPI.html does around 600k calls against the API.)
I actually had copyTex[Sub]Image2D implemented from a while ago, but didn't have tests for them. So today I wrote texSubImage2D and texSubImage2DHTML, and made texSubImage2D and texImage2D take a bunch of extra GL types (glTexSubImage2D man page had a longer list of types, including GL_FLOAT, GL_INT, etc., so I made the tex methods not error on those.) It's entirely possible that using a GL_FLOAT texture on an actual GL ES 2.0 implementation will throw an error.
Speaking of GL ES 2.0, the GL context API (GL Web 2.0 or whatever it is called) is quite compatible with it, but GLSL ES is a whole different beast. It's like GLSL 1.20 with precision qualifiers, and without most built-in variables. A half-way house between GLSL 1.20 and 1.30, if you will. I don't know if you can use GLSL ES on desktop graphics card drivers.
VertexAttrib[1234]fv are in, as are UniformMatrix[234]fv. No explicit tests yet for them or the new texture methods. At least the fuzzer doesn't segfault them, so maybe they work! We'll see! Tests tomorrow.
art with code
2009-03-14
Subscribe to:
Post Comments (Atom)
Blog Archive
-
▼
2009
(84)
-
▼
March
(15)
- More ATI Linux debugging
- Why you might like Canvas 3D (or not)
- More Canvas 3D tests, preliminary bandwidth benchmark
- Linux + ATI + Canvas 3D = GLX 1.3, please?
- GLSL parsing
- Bad juju Sunday
- JS xpconnect call overhead
- My fork of the Canvas 3D Mercurial repo
- Fuzz tests, texture methods, GLSL ES pondering
- Canvas 3D uniforms, glGetError exception throwing
- Canvas 3D high-priority tests done
- Still alive
- 4x4 matrix multiplication in JavaScript vs C
- Canvas 3D tests update
- The anatomy of the Canvas 3D extension
-
▼
March
(15)
No comments:
Post a Comment