Hi, so how is everyone doing with thier code? Here is a little update on mine.
Been slowed down a bit as I was ill the past couple weeks and been busy at work.
( GPU == 940 cpu )
Most of the work has been on my GPU code.....
Lost texturing as i'm coding my own tri rendering, dumping the code I found on the net.
All the upper 32megs is now cached with a protection hole at 16megs to stop me from killing the 940 code the OS has there. This 32megs is managed now by a vram mem man on the 920.
At startup I create a mem block of 32megs, pop a hole at the start for the GPU code and stack and another hole at 16megs to stop me from allocating that mem for textures, fonts or anything else I put there. When the GPU starts up it sets up the protection unit so that all 32megs is cached and the mem hole at 16megs is protected so that any bugs can't scribble over it. Also set the HW regs address to be uncached. The rest of the mem range is not setup and so I beleave will be protected by default.
When I flip the display I now have to drain the cache, seems to be ok. Means that my FB ops should be a lot quicker.
Written my own untextured no shading tri renderer, the easiest type to do. Nice little trick on rendering the scan lines, I have 320 mov instructions to render the scanline. I tweek the start address then jump in to the block of code so that only the required pixels are written. This means I have only one jmp per scanline instead of one every pixel.
Sorted out my transform code so i've now got a propper camera.
No clipping yet, i'm going to do this proper instead of in the tri renderer. Not sure if to do the clipping on the 920 before I pass the tri to the GPU. I'm using the GPU as a 2d renderer only, T&L is on the 920. This should give me a good balance. The 920 was spending most of its time waiting for the GPU to catch up.
Here is a link to the box demo. Runs at 60fps, most of the time. Its a debug build with no optimisation, although most of the bits that would be slow on the GPU is in hand coded asm.
cube.zip