Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
12 crawler(s) on-line.
 112 guest(s) on-line.
 2 member(s) on-line.


 BigD,  retrofaza

You are an anonymous user.
Register Now!
 BigD:  37 secs ago
 retrofaza:  2 mins ago
 kolla:  16 mins ago
 OlafS25:  48 mins ago
 edwardsjethro:  1 hr 8 mins ago
 joeyunderwood:  1 hr 9 mins ago
 Sikharubel:  1 hr 12 mins ago
 Musashi5150:  1 hr 34 mins ago
 MagicSN:  2 hrs 2 mins ago
 Gunnar:  2 hrs 10 mins ago

/  Forum Index
   /  Amiga OS4.x \ Workbench 4.x
      /  Hyperion Blog update....
Register To Post

Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 Next Page )
PosterThread
Tuxedo 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 18:07:59
#41 ]
Elite Member
Joined: 28-Nov-2003
Posts: 2341
From: Perugia, ITALY

@Framiga

I read right?
Karlos will work on R200 diver also after the permedia2?
Maybe finally we can get decent performaces from our Radeon 9xx0 ?????
And maybe also get working the Radeon 8500/9100 too?

I hope so!

_________________
Simone"Tuxedo"Monsignori, Perugia, ITALY.

 Status: Offline
Profile     Report this post  
kas1e 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 18:31:02
#42 ]
Elite Member
Joined: 11-Jan-2004
Posts: 3549
From: Russia

@Karlos
That was interesting to read. Still a bit sadly that you works on permedia in the first , but not with r9250/r9000, but fingers crossed for future work on

ps. check PM plz.

@Tuxedo
Quote:

I read right?
Karlos will work on R200 diver also after the permedia2?
Maybe finally we can get decent performaces from our Radeon 9xx0 ?????
And maybe also get working the Radeon 8500/9100 too?


As i understand, by this phrase:

Quote:

In a case of history repeating itself, I also noticed that the R200 driver doesn't draw everything advertised in the API either. I guess I'll have to look into that one next...


He mean the old wellknown bugs in Warp3D drivers for radeons (like W3D_Point and/or W3D_Line return wrong results in some conditiona).

Also i remember there was some bugs with alpha-channels in terms of API itself (and on voodoo3 and on radeons lately). Some functions have just some real bugs (like 1.0 interpeted as 0.0, but 0.99 are ok) , some functions also reacts different between different w3d drivers (but sure should all be same) and so on (i.e. there is room for fixes, not saying about perfomance improvements).

I do not know (but i also hope as you), that Karlos will in interest to improve perfomance of our current 9xx0 radeons, not just API bugs-fixes . I can tell you that he is right person for for sure. I remember how he help me few years ago with some warp3d coding, and explain me how to make the better perfomance.

So only what we can hope, is that he will fast finish permedia2 support and do some work on radeon9000/9250 in terms of optimisation. I remember when i talk a bit with Rogue, he say that its cleary possible to speedup w3d at last at 7-10% pretty easy, but just no one works on it, and he personally have too much to do in others. For now we also have Hanz and Karlos, so i think after all those years , we soon will have at last normal 3D :)

_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites

 Status: Offline
Profile     Report this post  
Karlos 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 21:34:19
#43 ]
Elite Member
Joined: 24-Aug-2003
Posts: 4394
From: As-sassin-aaate! As-sassin-aaate! Ooh! We forgot the ammunition!

@kas1e

Long term, the best way to speed up Radeon is, I'm sorry to say, move away from Warp3D as a driver layer and to something more OpenGL oriented. In the absence of Gallium3D support (I think R300 is the miniimum there), Mesa might be a good choice. Whatever you pick, Warp3D can be realised as a thin layer interface on top for older applications that use it directly, whereas applications requiring OpenGL can use whatever has replaced it.

Allow me to explain. The biggest problem with Warp3D is that it is a rasterizer only. There's simply nothing in the existing design beyond rendering lists of already computed geometry. For my old applications, this was perfect. I was using it mostly for 2D and adding any additional layers of transformation (even if it was only applying an identity matrix) would have been an unwarranted waste of clock cycles ;)

However, presently most of the 3D applications we are using are based around MiniGL and as such you need a full graphics pipeline. MiniGL implements all the transformation, clipping and lighting in software and then passes the computed vertices over to Warp3D for rasterization, since that's all that Warp3D actually provides. The Radeon chips we are now using are capable of doing so much more and as a result the Warp3D API is simply holding them back.

For faster 3D, you absolutely want something which is passing the scene vertices over to the card, where they are held in reusable VRAM buffers (or at least in DMA accessible memory) and all the necessary transformation is done by the graphics chip.

OpenGL fully hides the implementation from you, so the potential of hardware that is capable of the above can be realised.

Until a newer 3D architecture is in place however, it would be nice to improve what we have. On which note, you'll be happy to hear I already submitted my first R200 bugfix, the UBYTE based vertex colour formats had a channel transposition bug...

Last edited by Karlos on 07-Jun-2011 at 09:36 PM.
Last edited by Karlos on 07-Jun-2011 at 09:35 PM.

_________________
Doing stupid things for fun...

 Status: Offline
Profile     Report this post  
Rob 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 21:54:32
#44 ]
Elite Member
Joined: 20-Mar-2003
Posts: 6344
From: S.Wales

@Karlos

Would a free Hypercom serial port be useful for your A1200?

 Status: Offline
Profile     Report this post  
Richi 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 22:00:13
#45 ]
Regular Member
Joined: 25-Dec-2004
Posts: 158
From: Unknown

@Karlos

Way to go man!!!!!!!!!

 Status: Offline
Profile     Report this post  
Karlos 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 22:05:08
#46 ]
Elite Member
Joined: 24-Aug-2003
Posts: 4394
From: As-sassin-aaate! As-sassin-aaate! Ooh! We forgot the ammunition!

@Rob

Thanks for the offer but to be fair, DumpDebugBuffer has served me well enough on the A1200.

_________________
Doing stupid things for fun...

 Status: Offline
Profile     Report this post  
Tuxedo 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 22:12:49
#47 ]
Elite Member
Joined: 28-Nov-2003
Posts: 2341
From: Perugia, ITALY

@Karlos

Any chanche that your bugfixes/others can made working Radeon 8500/9100 under AmigaOS4.x?
So we can at least use the faster Radeon R2xx boards around...

And also...

Any chanche that you will work on some R300(Radeon9800) driver for AGP cards regarding the compositing that atm dont works(and also on 9100 I get rally serious problems from my tess...)?

In that way if the Gallium port will support R300 on AMigaOS4.1 we can use the faster AGP card supported from our A1/Peg2...

But forgetting all that above...


GOOD WORK!!!!!

_________________
Simone"Tuxedo"Monsignori, Perugia, ITALY.

 Status: Offline
Profile     Report this post  
Karlos 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 22:18:25
#48 ]
Elite Member
Joined: 24-Aug-2003
Posts: 4394
From: As-sassin-aaate! As-sassin-aaate! Ooh! We forgot the ammunition!

@Tuxedo

If you can arrange all my days to have an extra 24 hours in them, no problem ;)

_________________
Doing stupid things for fun...

 Status: Offline
Profile     Report this post  
Tuxedo 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 22:21:09
#49 ]
Elite Member
Joined: 28-Nov-2003
Posts: 2341
From: Perugia, ITALY

@Karlos

as anyone else here :P

For sure If I will win some 6 zeros at lottery I will hire you as fulltime OS4.x developer :)
Until then sorry but you have to stay wuith your ugly simply 24 hours days ... :P

Good work :)

_________________
Simone"Tuxedo"Monsignori, Perugia, ITALY.

 Status: Offline
Profile     Report this post  
Karlos 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 22:48:20
#50 ]
Elite Member
Joined: 24-Aug-2003
Posts: 4394
From: As-sassin-aaate! As-sassin-aaate! Ooh! We forgot the ammunition!

@Tuxedo

Most people win zero every week don't they? Just take all the zeros you won since you started and you can retire!

;)

_________________
Doing stupid things for fun...

 Status: Offline
Profile     Report this post  
samo79 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 22:59:16
#51 ]
Elite Member
Joined: 13-Feb-2003
Posts: 3505
From: Italy, Perugia

@Karlos

Very nice reading, good luck for your projects

_________________
BACK FOR THE FUTURE

http://www.betatesting.it/backforthefuture

Sam440ep Flex 800 Mhz 1 GB Ram + AmigaOS 4.1 Update 6
AmigaOne XE G3 800 Mhz - 640 MB Ram - Radeon 9200 SE + AmigaOS 4.1 Update 6

 Status: Offline
Profile     Report this post  
marko 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 22:59:42
#52 ]
Super Member
Joined: 17-Dec-2007
Posts: 1816
From: Gothenburg, THE front side of Sweden ;), (via Finland), EU

@Karlos

Nice read, thanks, hope it succeeds in the end

_________________
AmigaOS 4.1 FEu2 on Sam440ep-flex 800MHz 1GB RAM
C128, A500+, A1200, A1200/40, AmigaForever 2008+09+16, 5 x86/x64 boxes
Still waiting (or dreaming) for the Amiga revolution...
m4rko.com/AMIGA

 Status: Offline
Profile     Report this post  
Tuxedo 
Re: Hyperion Blog update....
Posted on 7-Jun-2011 23:11:28
#53 ]
Elite Member
Joined: 28-Nov-2003
Posts: 2341
From: Perugia, ITALY

@Karlos

right!

I've a really long series of zeros....

_________________
Simone"Tuxedo"Monsignori, Perugia, ITALY.

 Status: Offline
Profile     Report this post  
AmiDog 
Re: Hyperion Blog update....
Posted on 8-Jun-2011 6:39:51
#54 ]
Cult Member
Joined: 1-Jun-2004
Posts: 917
From: Kumla, Sweden

@Karlos

Some things to (perhaps) work on:

Unless the colorscaling in the R200 driver has been fixed lately, it would be a good candidate for a bugfix as it makes the Warp3D GPU for FPSE rather useless on R200 cards. (The bug was reported many years ago.)

It would also be nice if the texture subimage update function actually did a subimage update and not updated the entire texture.

And while I'm at it, support for reverse subtractive blending which I've been nagging the Friedens about since 2004 or something would be nice too.

Oh, and some decent performance from the R200 driver would also be nice. Currently the R100 cards run in circles around the R200 ones, or atleast did when I "upgraded" from a 7000 to 9250 a few years ago (I wanted DVI, but stayed with the 7000 card for a few years despite it only having VGA due to the performance issues)...

 Status: Offline
Profile     Report this post  
realize 
Re: Hyperion Blog update....
Posted on 8-Jun-2011 10:08:00
#55 ]
Super Member
Joined: 14-Apr-2003
Posts: 1797
From: nyc

@Karlos

Awesome news. This is the kind of communication with user base we need :)

Would love to see improved r200 drivers as I'll be running os4 on my peg2 with radeon 9000 pro II

 Status: Offline
Profile     Report this post  
wawa 
Re: Hyperion Blog update....
Posted on 8-Jun-2011 10:28:39
#56 ]
Elite Member
Joined: 21-Jan-2008
Posts: 6259
From: Unknown

@Karlos
sadly we wont be having your improvements on 68k side. im impressed with your work though, thats exactly what has to be done.

 Status: Offline
Profile     Report this post  
Varthall 
Re: Hyperion Blog update....
Posted on 8-Jun-2011 12:25:12
#57 ]
Super Member
Joined: 17-Feb-2004
Posts: 1559
From: Up Rough

@karlos

I like a lot your post, it's both informative and enjoyable to read.

Varthall

_________________
AmigaOne XE - AmigaOS 4.1 - Freescale 7457 1GHz - 1GB ram

 Status: Offline
Profile     Report this post  
Amigo1 
Re: Hyperion Blog update....
Posted on 8-Jun-2011 12:35:29
#58 ]
Super Member
Joined: 24-Jun-2004
Posts: 1582
From: the Clouds

@Karlos

Quote:

Karlos wrote:
@Tuxedo

Most people win zero every week don't they? Just take all the zeros you won since you started and you can retire!

;)




 Status: Offline
Profile     Report this post  
Karlos 
Re: Hyperion Blog update....
Posted on 8-Jun-2011 20:25:50
#59 ]
Elite Member
Joined: 24-Aug-2003
Posts: 4394
From: As-sassin-aaate! As-sassin-aaate! Ooh! We forgot the ammunition!

@AmiDog

Quote:
It would also be nice if the texture subimage update function actually did a subimage update and not updated the entire texture.


The Permedia2 driver itself presently has that limitation too. I plan to rewrite the texture handling at some stage anyway, for two reasons. First of all, there is a really irritating and long lived bug somewhere (not necessarily in the driver) that is causing textures in VRAM to get crapped on, particularly in low VRAM situations. Rewriting the texture handling code would be tantamount to giving it a really good kick to see what shakes loose.

Secondly, the debug build of the driver has a profiler in it that I created to measure (at least as far as you can with the EClock) how much time has been spent in certain functions and how often they are called. Stats are dumped to the debug log when the W3D_Context instance is destroyed. I noticed that texture uploads are pretty expensive.

Now, there are several contributing factors to this expense that a refactor might mitigate. First of all, there are two conversion steps. The first one happens when you ask Warp3D to use a texture. The driver creates a private copy of the texel data in the closest hardware-supported format for the format requested. In some cases, that's not necessary, but a copy is created nevertheless. The Warp3D API documentation says that texel data provided by the application should be considered locked and not be freed until you've released the texture, so that copy step seems redundant when the formats are directly compatible.

Anyway, the second conversion happens during upload. If the texture is wider than 32 pixels, it is transformed into a subpatched representation that aims to make neighbouring texels (in the 2D sense) as close together in memory as possible as this speeds up sampling during filtering. The existing code to do this operates on the entire texture map and is not trivially converted to work only on a small area. That's why in the Permedia2 case, subimage updates cause the whole texture to be re-uploaded.

It struck me that if the subpatch conversion code is reworked to operate on a rectangular subsection (for subimage) then it could also be moved into the first step when textures are converted to device format. The redundant copy that is presently created where texture formats match would no longer be redundant, it would be the subpatched representation of that data. Uploading the entire texture to VRAM could then be done quite quickly, using sequential transfers as wide as possible rather than writing scattered texels individually over the whole address range (this is what subpatching does to your linear array of texels).

For subpatching, after a sub image update, we'd have a bunch of seemingly random texels to update on the graphics card. What I then thought about was having a "bitplane" in which each texel is represented by a bit. When a rectangular area is subpatched, bits are set at the corresponding offset. This bitplane is then scanned sequentially as bytes and wherever a bit is set in any byte, the entire span of 8 texels covered by that byte are transferred sequentially to the VRAM. As long as the private texture is aligned to an 8-byte boundary, this transfer can be made to work using 64-bit double transfers.

This could give a decent speed increase for sub image uploads. First of all, the subpatching happens only on the rectangular area required (which is also in a cacheable area of RAM) and you get the widest possible bus transfers, arranged sequentially (rather than scattered as they are currently).

I wanted to refactor it also because I added texture usage statistics to the profiler and have observed that the LRU cache is not necessarily the best strategy for the Permedia2, which is almost always running out of VRAM. The problem with the strategy as it stands is that textures are freed based purely on when they were last used and not how often they are used or how big they are. This means that once you reach the stage where texture swapping starts to happen, you'll end up in a cyclic process in which every texture is eventually freed and re-uploaded in a queue which is rather bad for performance. Ideally, you should free infrequently used textures rather than the one that was just last in the queue. There are various intriguing algorithms to try for this one, but anything too complicated may end up being more of a slow down than the existing one.

So anyway, what you can take from this essay is that there are plenty of interesting things left to try for this driver, let alone any of the others :)

Last edited by Karlos on 08-Jun-2011 at 08:34 PM.

_________________
Doing stupid things for fun...

 Status: Offline
Profile     Report this post  
stevieu 
Re: Hyperion Blog update....
Posted on 8-Jun-2011 22:01:23
#60 ]
Cult Member
Joined: 23-Apr-2003
Posts: 647
From: England, UK

@Karlos


We love you.

Steve

_________________
A1200T - OS4.0,OS3.9: 603e PPC 200mhz,060 50mhz, 256mb ram, FastATA MK-III, BVision, 160gb,20gb HDDs

A1200 - OS3.1: Blizzard IV 030, 64mb ram, 400mb HDD

OS4.x - Flying the AMIGA flag

 Status: Offline
Profile     Report this post  
Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 Next Page )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle