netkas.org

Netkas blog.

Archive for the 'ATI' Category

Some news from 10.6.3 beta

opengl 3.0 test there doesnt work yet tho and most of gl3.0 specific functions aren’t present yet, but most of modern gpu’s functionality is now possible to use via extensions.

I hope they’re not going to hold opengl3.0 untill 10.7 :)

Lets look at 4670 in iMacs.

Radeonhd 4670 in Imacs is mobility card, its clock speed is 680 for core, 790 (1580) for memory.

Desktop’s 4670 card have 750/800, core clock of desktop 4650 – 600.

So performance should be between desktop’s 4650 and 4670.

Here is table with clocks in all states for this card.

Free Image Hosting at www.ImageShack.us

Btw, framebuffer is Shrike;)

Drivers for Radeons 46×0/45×0/43×0

Latest 10.6.2 update have drivers for 46×0 45×0 43×0 card and we jsut made it to work.




You will need – a beta booter with GraphicsEnabler support for those card and drivers for osx (can find in irc.osx86.hu #radeonhd topic)

4650 – add devid into ATIRadeonX2000.kext after installing drivers, and remember to add your device-id to ATI4600Controller.kext and ATIRadeonX2000.kext after updating to 10.6.2 in future.
4670 doesnt need adding devid to kexts.

4350 – add devid into ATIRadeonX2000.kext after installing drivers, and remember to add your device-id to ATI4500Controller.kext and ATIRadeonX2000.kext after updating to 10.6.2 in future.

P.S. screenshots from 4650 card with DVI display, hdmi didnt work. VGA wasn’t tested, mobility wasnt tested too
P.S.S. this is only for snow leopard.

PC EFI v10.5

New in release:

  • Automatic detection of pci root uid value(for GraphicsEnabler and ethernetbuiltin options) based on parsing DSDT.aml file (if you dont use custom DSDT.aml, you will need to use -pci1 flag in case you have uid=1) . If booter fails to detect it or you dont have _UID property in pci root(in dsdt) then UID=0 used by default, but, if you have UID=1 and booter fails to detect it, use -pci1 boot flag. Uid detection works really well in most cases.
  • Added aserebln’s patch for better cpu type detection, for example I dont need to add SMcputype key anymore
  • Better handling of pci slot names if nvidia card present

Zipped booter – link1 link2(mirror)

Sources

More information and installation instructions here.

OpenCL works better on rv770 in 10.6.2

After installing ATI kexts and OpenCL/OpenGL frameworks from new 10.6.2 beta its possibly to use now Galaxies demo, also now we have more compute units (4->10)

[Platform 0]
Name: Apple
Vendor: Apple
Version: OpenCL 1.0 (Sep 29 2009 21:45:56)
Profile: FULL_PROFILE

2 OpenCL devices found!

[Device 0]
Name: Radeon HD 4870
Vendor: AMD
Type: GPU
Device Version: OpenCL 1.0
Driver Version: 1.0
Compute Units: 10

Free Image Hosting at www.ImageShack.us

also bandwidth increased few times

/Developer/GPU Computing/OpenCL/bin/darwin/release/oclBandwidthTest Starting…

Running on…

Device Radeon HD 4870

Quick Mode
Host to Device Bandwidth for Pageable memory, direct access

Transfer Size (Bytes) Bandwidth(MB/s)
33554432 4619.7

Quick Mode
Device to Host Bandwidth for Pageable memory, direct access

Transfer Size (Bytes) Bandwidth(MB/s)
33554432 4955.3

Quick Mode
Device to Device Bandwidth

Transfer Size (Bytes) Bandwidth(MB/s)
33554432 19711.7

TEST PASSED

p.s. not recomended for users who need qe_ci_exotic

Common instructions for 48×0 radeons and snow leopard

It’s easy and covers rv770/rv790 cards with two dvi ports and dvi display.

0) boot with -x option to get gui

1) install pc efi v10.3 with GraphicsEnabler=y option in boot.plist

2) reboot with -x option and check if card recognized in system profiler, maybe u will need to retry with -pci0 boot option

3) all but 4870: install pkg from this post

p.s. if u have mouse stuters try to change refresh rate to 59 hz with help of switchresx

PC EFI V10.3

New release 10.3 is now based on Chameleon2 RC3

it includes all features of 10/10.1 (like 64-bit efi pages and etc), also introduces new features, like support for injecting ati radeon 48×0 cards in bootloader, like chameleon2 rc3 does for nvidia, more ati support will come later.

Video and ethernet devices now listed in PCI Cards section of system profiler.(if graphicsenabler/ethernetbuiltin used)

Fixed few bugs in rc3 code.

Now about inbooter injector.

Chameleon2 RC3 supported only pciroot = 0, many new motherboards have pciroot=1.

Now pciroot=1 used by default, if you want pciroot to be 0 – use -pci0 boot option.

To find you pciroot value, use this osx terminal command:

ioreg -l | grep -15 “AppleACPIPCI\ ” | grep UID

To activate video/ethernet injector just use same options in boot.plist that used in Chameleon RC2+ and remove device properties key, options is :

<key>EthernetBuiltIn</key>
<string>y</string>
<key>GraphicsEnabler</key>
<string>y</string>

ATI injecctor designed for snow leopard, dont use it in leopard(binimage isn’t injected) with 4830/4850(you will get screen flickerings)

Installation – if you dont have chameleon2 installed yet – get rc1/rc2 install pkg and use leopard to install bootloader, then replace boot file in root of boot partition with this one – booter10.1

source patch diff

QE CI Patch for 10.6.1 for radeons

Here is patch to get qe/ci on radeon 4890/4870×2/4830/4850×2

It also adds device-ids of those cards to ATI4800Controller kext.

Note to 4850 users – install it(if you are lazy to add device-id to 4800controller kext manualy) BEFORE rebooting after installation of 10.6.1

Package

Why only 48×0 ATI cards support openCL

Many imacs/macpro3,1 owners was wondering why their radeon hd 2600/3870 doesn’t support opencl.

Lets see why.

Link to post on amd forum

some quotes:

Compute shader has a higher possibility of getting peak performance because it is not part of the graphics pipeline.
For example, when you run a pixel shader, a vertex/geometry shader must be executed first in order to generate the pixels. So there is overhead involved and it requires resources. In compute shader, you basically get all the resources on the chip. Actually achieving that peak performance is another thing however.

————————-
Micah Villmow
Advanced Micro Devices Inc.

Pixel Shader code (if not using some special stuff like double precision) runs on all cards. Compute shaders only on the HD4000 series.

If you write in Brook code without using AMD extensions and using the older brook codebase, you can compile to a vast majority of graphics cards using the DX/OGL backends. With pixel shader mode, you can target all Radeon HD cards and compute shader can target all HD4XXX series and later cards. So yeah, compatibility is a reason.

————————-
Micah Villmow
Advanced Micro Devices Inc.

So, obviously a reason is simple, opencl on radeons in SL uses compute shaders and they are available only on 4000 gpu series.

Lets see something else:

strings /System/Library/Frameworks/OpenCL.framework/Libraries/AMDil.dylib | grep Enable
Enable pixel shader code generation
Enable compute shader code generation

Enable Compute Shader instructions
Enable Double Precision instructions

Enable Pixel Shader instructions

Looks like they have ability to run opencl on old radeon cards but it isn’t enabled yet.

It can be just two reasons why – it’s not finished/ready yet and will be finished later, or they are not going to enable it and pushing users for upgrade.

p.s. opencl for nvidia cards done via CUDA (look at file /System/Library/Extensions/GeForce8xxxGLDriver.bundle/Contents/MacOS/libclh.dylib), so it supports all cuda supported gpus

4890 4870×2 4830 and SL

A pkg with patch for qe/ci support on SnowLeopard for those cards: 4830 4870×2 4890

also addes dev-ids for those into ATI4800Controller.kext plist

Link to pkgs

Next Page »