hi. i'm trying to investigate a current issue with hardware TCL (transform/clip/lighting) support in the current xorg-video-ati package (xorg-xf86-video-ati#6.10.0-1.pkg). on my setup (efika + ATI 9250 pci) glx reports full support for the feature (down to arbvp1 vertex shaders) but the actual performance indicates software emulation; tests show more than an order-of-magnitude performance drop in comparison to another ppc + r200 osx station. things get quite apparent the moment one tries arbvp1 shaders - the performance degradation makes the feature plain unusable.
update: the actual issue has been identified (no, it's not sw fallback). you can read about it on the
powerdeveloper.org boardsa question to fellow ATI radeon r200-family users:
do you experience the above-mentioned issue, and if not, would you mind reporting the exact hw & DRI setup of your ppc + r200 platform. in case you are not sure whether you are experiencing the issue, i can provide you with a rudimentary test app (in source, naturally) to check it.
here is an example of what sort of information you could report:
Code:
$ glxinfo -l
<snip>
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI R200 20060602 TCL
OpenGL version string: 1.3 Mesa 7.2
<snip>
OpenGL limits:
<snip>
GL_MAX_ELEMENTS_VERTICES = 3000
GL_MAX_ELEMENTS_INDICES = 3000
<snip>
GL_VERTEX_PROGRAM_ARB:
GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 128
GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 128
GL_MAX_PROGRAM_TEMPORARIES_ARB = 128
GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 12
GL_MAX_PROGRAM_PARAMETERS_ARB = 128
GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 192
GL_MAX_PROGRAM_ATTRIBS_ARB = 16
GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 12
GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 1
GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 1
GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 128
GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 128
GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 128
GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 128
GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 128
GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 128
GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 128
GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 128
Code:
$ grep -A 6 -e "LoadModule: \"dri\"" -e "LoadModule: \"ati\"" -e "LoadModule: \"radeon\"" /var/log/Xorg.0.log
(II) LoadModule: "dri"
(II) Loading /usr/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
compiled for 1.5.3, module version = 1.0.0
ABI class: X.Org Server Extension, version 1.1
(II) Loading extension XFree86-DRI
(II) LoadModule: "ati"
(II) Loading /usr/lib/xorg/modules/drivers//ati_drv.so
(II) Module ati: vendor="X.Org Foundation"
compiled for 1.5.3, module version = 6.10.0
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 4.1
(II) LoadModule: "radeon"
(II) Loading /usr/lib/xorg/modules/drivers//radeon_drv.so
(II) Module radeon: vendor="X.Org Foundation"
compiled for 1.5.3, module version = 6.10.0
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 4.1
Code:
$ grep -e "\[drm\]" /var/log/Xorg.0.log
(II) [drm] DRM interface version 1.3
(II) [drm] DRM open master succeeded.
(II) RADEON(0): [drm] Using the DRM lock SAREA also for drawables.
(II) RADEON(0): [drm] framebuffer handle = 0x80000000
(II) RADEON(0): [drm] added 1 reserved context for kernel
(II) RADEON(0): [drm] installed DRM signal handler
(II) RADEON(0): [drm] register handle = 0x88000000
(II) RADEON(0): [drm] Added 32 65536 byte vertex/indirect buffers
(II) RADEON(0): [drm] Mapped 32 vertex/indirect buffers
(II) RADEON(0): [drm] dma control initialized, using IRQ 16
(II) RADEON(0): [drm] Initialized kernel GART heap manager, 5111808
(II) RADEON(0): [drm] removed 1 reserved context for kernel
(II) RADEON(0): [drm] unmapping 8192 bytes of SAREA 0xc90b8000 at 0x48020000
(II) RADEON(0): [drm] Closed DRM master.
Code:
$ grep -B 20 -m 1 drmOpen /var/log/Xorg.0.log
ATI Mobility Radeon HD 3670, ATI Radeon HD 3200 Graphics,
ATI Radeon 3100 Graphics, ATI Radeon HD 3200 Graphics,
ATI Radeon 3100 Graphics, ATI Radeon HD 3300 Graphics
(II) Primary Device is: PCI 00@00:18:0
(II) resource ranges after xf86ClaimFixedResources() call:
(II) resource ranges after probing:
(II) RADEON(0): TOTO SAYS 0000000088000000
(II) RADEON(0): MMIO registers at 0x0000000088000000: size 64KB
(II) RADEON(0): PCI bus 0 card 24 func 0
(**) RADEON(0): Depth 24, (--) framebuffer bpp 32
(II) RADEON(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp pixmaps)
(==) RADEON(0): Default visual is TrueColor
(**) RADEON(0): Option "EnablePageFlip" "on"
(II) RADEON(0): VGAAccess option set to FALSE, VGA module load skipped
(==) RADEON(0): RGB weight 888
(II) RADEON(0): Using 8 bits per RGB (8 bit DAC)
(--) RADEON(0): Chipset: "ATI Radeon 9250 5960 (AGP)" (ChipID = 0x5960)
(--) RADEON(0): Linear framebuffer at 0x0000000080000000
(II) RADEON(0): PCI card detected
(II) RADEON(0): Legacy BIOS detected
drmOpenDevice: node name is /dev/dri/card0