guys,
 
I am currently working on putting texture compression support into the savage driver. I am approaching this in two stages. Stage one is to get the loading of pre-compressed textures working. Stage two, would be the driver level compression of textures. I no there are possible legal limitations to stage two, so i plan to use the same methodology as the radeon driver.
 
I have a plan, now i need to write some code.
 
First I enabled the extensions GL_ARB_texture_compression and GL_EXT_texture_compression_s3tc. this was simple. The extensions are showing up when i run glxinfo.
 
Next, I implemented the glCompressedTexImage2D function. After looking at the radeon driver it seems that this function is very similiar to the glTexImage2D function, so my savage version is very similiar to savageTexImage2D. i didn't expect this to work but it would provide a debugging point that i could later examine.
 
Next, I added cases to ChooseTextureFormat for the DXT texture types. This was just a cut and paste job from the radeon driver.
 
Last Change. In DDInitTextureFuncs I set the function pointer CompressedTexImage2D to the savage function created earlier.
 
Now it was time for some testing. i built a sample application and tested it using another computer. the other computer is a linux box using the nvdia driver. After some debugging i transfered the test app over to my savage computer. This is where i ran into problems. The GetProcAddress function is returning valid pointers but as soon as glCompressedTexImage2D is called, the test application crashes.
 
Well I obviously missed something! This is when i ran ddd on the test application. My idea was to step into glCompressedTexImage2D function until i found the point at which the crash occurred. One problem, I couldn't step into the function. I went back and rebuilt everything making sure the -g flag was set when compiling. still couldn't step into that function. Modified the test application to call glTexImage2D and couldn't step into it either.
 
 
Enough background, now the questions.
 
1) Do i need to modify Mesa to implement the uploading of pre-compressed textures or should all of this take place in the savage driver?
 
2) Is it possilbe to step into the driver from a test application? If not, is there a way to use ddd to debug a dri driver?
 
any help would be greatly appreciated,
mark 

Reply via email to