airlied (airlied) wrote,

some inklings of r500 3D support...

So myself, Alex and Corbin Simpson have been chipping away at the 3D support for the R500 driver over the past couple of week/months etc.

Corbin has been churning through the fragment shader instruction encoding and assembly, and has implemented a lot of the single opcode instructions and some of the multi-opcode ones. Corbin is new to all this, but its good to see new people join the 3D hacker community out of sheer wanting to scratch an itch on the hw they own.

I've been working on fixing up the r500 rasteriser code repeatedly and just fixing bugs one by one as they appear or are introduced :), and Alex has been cleaning up the register naming and grouping.

So today Corbin got fixed the temp handling up so we had nicer texturing opcodes, and I found the bug that was stopping everything from working nice in the rasteriser code, I had copy the r300 RS code to start the r500 RS code and changed it, except I missed one place and one register in that place. So when I was trawling through register state dumps I noticed in one place it was going to 0x4320 and the next 0x4330 leading me to find a missing ^R300^R500 define.

So I've played openarena fine on it so far, enemy-territory dies on level load somewhere, and compiz kinda works, i.e. windows wobble and contain correect data. I have a wide window failure (and background) at around the 2048 mark which points towards texture handling I suspect (r500 has 4096 textures), and for some reason after alt-tab or after rotating the cube the whole desktop gets corrupted. Dragging the cube brings it back until I let go when it corrupts again.

Ah well one step at a time.
The current build requirements are
xf86-video-ati driver running EXA from master.
drm master.
mesa r500-support branch.

You may run into some visuals problems, which means you need to get the X server to load the dri module under AIGLX. However this may lead to needing a new X server. so this may lead to pain, but I never said it was easy to bleed on the edge.

  • Post a new comment


    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.