Friday, May 19, 2006

Mesa continues ..

Its been pretty hard goin with Mesa over the last week or so..

Firstly, The mesagl.hidd started working properly with mesa3.5, so I started merging the code with the newest refresh of Mesa (6.5) - quite a jump!

Well, today I finally got the binaries to output something - though there where clearly a couple of bugs and some unexpected surprises =)

The accelerated software line and triangle functions which didnt get called with mesa3.5 now are being utilised, so those demos arew now running a little faster. Morph3D is showing a bug - the glclear function isnt operating correctly yet.

Over the next few days I will tidy up the AROSMesa linklib code to work properly with 6.5 which will hopefully make it a bit more efficient, and then start about updating the mesagl.hidd to operate properly with the new setup.

If i find time l8r I will try and "port" a small shader test to check mesa is indeed working properly with all the latest gl functionality.

Monday, May 08, 2006

mesagl.hidd

Expect Spam in this blog !

Ive started to rework the AROSMesa software rasterizing code into hidds (namely mesagl.hidd and mesaglrast.hidd) in the hope of bringing atleast a basic level of hardware accelerateble OpenGL to AROS. So far tests of the basic class operations themselves (not the actual linklib) have been successfull.

Code is inplace for a gfx.hidd to identify a mesagl.hidd replacement to use, and for the replacement to register and be used instead of mesagl.hidd's object.

Anyhow this is the current debug output - the hidd is only intially used at the moment for testing, then it returns to the default AROSMesa code.


OpenWorkbenchObject: name = AROS Live CD:Extras/Gfx/Mesa/Demos-old/morph3d
OpenWorkbenchObject: isDefaultIcon = 1
OpenWorkbenchObject: it's a TOOL
OpenWorkbenchObject: it's a CLI program
OpenWorkbenchObject: success = 1
The function ChangeExtSpriteA() is not implemented.
[AROSMESA] AROSMesaCreateContext(taglist @ 1f39ac0)
[AROSMESA] AROSMesaCreateContext: Opened OOP subsystem

[hiddmesagl][libinit] Initialising MesaGL.hidd ..
[hiddmesagl][libinit] Memory Pool Allocated @ 1ca16e0
[hiddmesagl][libinit] Driver List Prepared ..
[hiddmesagl][libinit] Context List Prepared ..
[hiddmesagl][libexpunge] Expunging MesaGL.hidd ..
[hiddmesaglrast][libinit] Initialising MesaGLRast.hidd ..
[hiddmesaglrast][libexpunge] Expunging MesaGLRast.hidd ..
[hiddmesagl][root] MesaGL__Root__New()
[hiddmesagl][root] MesaGL__Root__New: Finding Hidd for specified RastPort @ 1ca0698
[hiddmesagl][root] MesaGL__Root__New: Using base mesaGL.hidd (software rendering)
[hiddmesagl][root] MesaGL__Root__New: MesaGL Hidd Object allocated @ 1ca1308

[AROSMESA] AROSMesaCreateContext: MesaGL.hidd object @ 1ca1308

[hiddmesagl] CreateContext(taglist @ 1f39ac0)
[hiddmesagl] CreateContext: context record allocated @ 1c7e46c
[hiddmesagl] CreateContext: rasterizer record allocated @ 1ca132c
[hiddmesagl] CreateContext: Called with RastPort @ 1ca0698
[hiddmesagl] CreateContext: Using Rasterizer 'hidd.mesagl.rast' (pointer = 1ca15c8)
[hiddmesaglrast][root] MesaGLRast__Root__New()
[hiddmesaglrast][root] MesaGLRast__Root__New: MesaGLRast Hidd Object allocated @ 1ca1710
[hiddmesagl] CreateContext: Rasterizer Object @ 1ca1710

[AROSMESA] AROSMesaCreateContext: MesaGL.hidd_CreateContext() returns 1c7e46c
[AROSMESA] AROSMesaCreateContext: AROSMesaContext Allocated @ 1ca0e54
[AROSMESA] AROSMesaCreateContext: gl_ctx Allocated @ 1ffad4c
[AROSMESA] AROSMesaCreateContext: Screen @ 1725a28
[AROSMESA] AROSMesaCreateContext: window @ 1ca0790
[AROSMESA] AROSMesaCreateContext: Using RastPort @ 1ca0698
[AROSMESA] AROSMesaCreateContext: Creating new AROSMesaVisual

[hiddmesagl] CreateVisual(taglist @ 1f39ac0)
[hiddmesagl] CreateVisual: visual record allocated @ 1ca1734
[hiddmesagl] CreateVisual: Visual Rastport @ 1ca1d48 [24bit]
[hiddmesagl] CreateVisual: Allocated BackBuffer RastPort @ 1d55468 (DOUBLEBUFFER)
[hiddmesagl] CreateVisual: RastPort Dimensions [width:647, height:510]

[AROSMESA] AROSMesaCreateContext: MesaGL.hidd_CreateVisual() returns 1ca1734
[AROSMESA] AROSMesaCreateVisual(taglist @ 1f39a60)
[AROSMESA] AROSMesaCreateVisual: amesa Context @ 1ca0e54
[AROSMESA] AROSMesaCreateVisual: Using RastPort @ 1ca0698
[AROSMESA] AROSMesaCreateVisual: RastPort.BitMap Depth = 24
[AROSMESA] AROSMesaCreateVisual: Using RGB Mode
[AROSMESA] AROSMesaCreateContext: [ASSERT] RastPort @ 1ca0698
[AROSMESA] AROSMesaCreateContext: [ASSERT] RastPort @ 1ca0698
[AROSMESA] AROSMesaCreateContext: Enabled Mesa Software Extensions
[AROSMESA] AROSMesaCreateContext: Using Direct Rendering on RastPort @ 1ca0698
[AROSMESA:TC] arosTC_Standard_init(amesa @ 1ca0e54, taglist @ 1f39ac0)
[AROSMESA:TC] arosTC_Standard_init: Using RastPort @ 1ca0698
[AROSMESA:TC] arosTC_Standard_init: Cloned RastPort @ 1ca17a8
[AROSMESA:TC] arosTC_Standard_init: Clipping Rastport to Window's dimensions
[AROSMESA:TC] arosTC_Standard_init: Context Base dimensions set -:
[AROSMESA:TC] arosTC_Standard_init: amesa->RealWidth = 647
[AROSMESA:TC] arosTC_Standard_init: amesa->RealHeight = 510
[AROSMESA:TC] arosTC_Standard_init: amesa->width = 637
[AROSMESA:TC] arosTC_Standard_init: amesa->height = 477
[AROSMESA:TC] arosTC_Standard_init: amesa->left = 5
[AROSMESA:TC] arosTC_Standard_init: amesa->right = 5
[AROSMESA:TC] arosTC_Standard_init: amesa->top = 18
[AROSMESA:TC] arosTC_Standard_init: amesa->bottom = 15
[AROSMESA:TC] arosTC_Standard_init: amesa->depth = 24
[AROSMESA:RAST] arosRasterizer_make_rastport()
[AROSMESA:TC] arosTC_Standard_init: Allocated BackBuffer RastPort (DOUBLEBUFFER)
[AROSMESA:RAST] arosRasterizer_AllocOneLine()
[AROSMESA] AROSMesaCreateContext: AROS Rasterizer initialised.

[hiddmesagl] CreateBuffers(hiddMesaGLVisual @ 1ca1734)
[hiddmesagl] CreateBuffers: buffer record allocated @ 1ca0744
[hiddmesagl] CreateBuffers: Single Line Render Buffer allocated @ 216363c

[AROSMESA] AROSMesaCreateContext: MesaGL.hidd_CreateBuffers(visual @ 1ca1734) returns 1ca0744
[AROSMESA] AROSMesaCreateBuffer(visual @ 1b77c8c)
[AROSMESA] AROSMesaCreateBuffer: Context Buffers created
[AROSMESA] AROSMesaCreateContext: Using framebuffer @ 1c1d204.
[AROSMESA] AROSMesaCreateContext: Mesa CORE Contexts Created
[AROSMESA] AROSMesaCreateContext: Context Created
[AROSMESA] AROSMesaMakeCurrent(amesa @ 1ca0e54, buffer @ 1c1d204)
[AROSMESA:TC] arosTC_update_state(ctx @ 1ffad4c, state -1)
[AROSMESA:TC] arosTC_update_state: SWDD @ 2016c74
[AROSMESA:TC] arosTC_update_state: TNL @ 22e6140
[AROSMESA] AROSMesaMakeCurrent: set current mesa context/buffer
[AROSMESA] AROSMesaMakeCurrent: initialised rasterizer driver functions
[AROSMESA] AROSMesaMakeCurrent: call glViewport(0, 0, 637, 477)
[AROSMESA:TC] arosTC_buffer_size(amesa @ 1ca0e54)
[AROSMESA:TC] arosTC_buffer_size(ctx=1ffad4c) = w:637 x h:477
[AROSMESA:TC] arosTC_buffer_size: amesa->RealWidth =647
[AROSMESA:TC] arosTC_buffer_size: amesa->RealHeight=510
[AROSMESA:TC] arosTC_buffer_size: amesa->width =637
[AROSMESA:TC] arosTC_buffer_size: amesa->height=477
[AROSMESA:TC] arosTC_buffer_size: amesa->left =5
[AROSMESA:TC] arosTC_buffer_size: amesa->bottom=15
[AROSMESA:TC] arosTC_buffer_size: amesa->depth =24
[AROSMESA:TC] arosTC_clear_color(c=1ffad4c,r=0,g=0,b=0,a=255) = ff000000
[AROSMESA:TC] arosTC_update_state(ctx @ 1ffad4c, state -1)
[AROSMESA:TC] arosTC_update_state: SWDD @ 2016c74
[AROSMESA:TC] arosTC_update_state: TNL @ 22e6140
[AROSMESA:TC] arosTC_clear(all:1,x:0,y:0,w:637,h:477)
[AROSMESA:TC] arosTC_clear: back_rp->Clearing viewport (ALL)
[AROSMESA:TC] arosTC_flush(ctx @ 1ffad4c) : Unimplemented - glFlush()
[AROSMESA] AROSMesaSwapBuffers(amesa @ 1ca0e54)
[AROSMESA:RAST] arosRasterizer_Standard_SwapBuffer(amesa @ 1ca0e54)
[AROSMESA:TC] arosTC_update_state(ctx @ 1ffad4c, state 525376)
[AROSMESA:TC] arosTC_update_state: SWDD @ 2016c74
[AROSMESA:TC] arosTC_update_state: TNL @ 22e6140
[AROSMESA:TC] arosTC_buffer_size(amesa @ 1ca0e54)
[AROSMESA:TC] arosTC_buffer_size(ctx=1ffad4c) = w:637 x h:477
[AROSMESA:TC] arosTC_buffer_size: amesa->RealWidth =647
[AROSMESA:TC] arosTC_buffer_size: amesa->RealHeight=510
[AROSMESA:TC] arosTC_buffer_size: amesa->width =637
[AROSMESA:TC] arosTC_buffer_size: amesa->height=477
[AROSMESA:TC] arosTC_buffer_size: amesa->left =5
[AROSMESA:TC] arosTC_buffer_size: amesa->bottom=15
[AROSMESA:TC] arosTC_buffer_size: amesa->depth =24
[AROSMESA:TC] arosTC_update_state(ctx @ 1ffad4c, state 1573378)
[AROSMESA:TC] arosTC_update_state: SWDD @ 2016c74
[AROSMESA:TC] arosTC_update_state: TNL @ 22e6140
[AROSMESA:TC] arosTC_clear(all:1,x:0,y:0,w:637,h:477)
[AROSMESA:TC] arosTC_clear: back_rp->Clearing viewport (ALL)
[AROSMESA:TC] arosTC_update_state(ctx @ 1ffad4c, state 1)
[AROSMESA:TC] arosTC_update_state: SWDD @ 2016c74
[AROSMESA:TC] arosTC_update_state: TNL @ 22e6140
[AROSMESA:TC] arosTC_write_rgba_span3(count=1,x=324,y=149)FAST nomask
[AROSMESA:TC] arosTC_write_rgba_span3(count=2,x=323,y=150)FAST nomask
[AROSMESA:TC] arosTC_write_rgba_span3(count=1,x=323,y=149)FAST nomask
[AROSMESA:TC] arosTC_write_rgba_span3(count=1,x=325,y=148)FAST nomask

Thursday, April 27, 2006

AiRcOS

Ive finally found the bug causing my Server prefs code to not function. Later today I hope to start getting it fully functional - saving entered servers for later usage.

The server "page" is stil llacking input gadgets so you cant send commands to it just yet except from within a channel page, so I will probably fix this issue also.

A few bugs seem to exist still causing it to crash aswell, and the texteditor class - while working - isnt fully used yet. Theres also a bug causing the output to get inserted into the wrong location on occasion.

Finally, I hope to get the text formatting done sometime soon - aswell as a few other options ( tab name completion, inserting timestamps, logging and private messaging to other users)

Keep watching this space ...

Upto Mesa 3.5 now ..

Ive recently commited another update to mesa.

We now have an OpenGL 1.2 capable implementation of mesa however it doesnt yet support hardware acceleration, and the code isnt shared.

The driver needed a number of changes (mainly to its api and the calls to mesa) but because of this it should be ready to start bringing it upto a higher mesa version.

Hopefully I can find time to merge it with mesa 4 over this weekend before attempting the steps through mesa 5 and finally 6 ( which should give us OpenGL2)

Wednesday, April 19, 2006

AiRcOS

Well, since ive been "inactive" for a bit, ive decided to try and get some work done on a few of my projects.

ATM im trying to rework AiRcOS to let seperate modules store their supported commands/actions with the main app (they are linked in at compile time atm still, but in the future I hope to make them as seperate plugins)

Im also trying to rework the main display / input code to work via the TextEditor MUI custom class Georg S recently commited to AROS - however progress is slow since im having probs getting it working =*(

Finally im going to look at adding support for DCC once im done with the previous work.

AROSMesa-3.4.2

Ive just commited updates to AROSMesa -:

# Merged the main mesa code with the 3.4.2 tree,
# Fixed a number of bugs in the AROS Rasterizer (thanks to Georg S for a lot of them!)
# Reworked the AROS Rasterizer a bit.

Wednesday, November 02, 2005

InstallAROS

Well, After another stint of not being able to compile AROS (due to a change in host env from mandrake to fedora), I have finally found time to set things back up.

Luckily getting AROS to compile again was relatively simple, after fixing the localisation under linux to iso.

Anyhows,

I decided to fix up a few minor issues in InstallAROS that i recently came across.. First, There was no checking if the work partition actually existed (if a user had selected one that is) - so when InstallAROS tried to copy files there things got hairy and ultimately all of AROS was brought down. For the time being if changed it to default back to a single partition system if work isnt available. At some point I will fix up the code to properly prompt the user for an action (Abort install/Continue with a single partition).

Also ive changed the install options page to allow users to specify which drives need formatted (if the format partitions option was selected)

So far the feedback seems to indicate the problems these issues created have been resolved but further testing is needed as always *sigh*

Also the partitioning side is still majorly broken/in need of loving care.

Tuesday, May 31, 2005

Thoughts ..

Hmm, after studying the behaviour of the icon selection code a little- i think it would be better if it checked the icons in reverse - this would prevent icon labels overlapping icons,

Also, It might be worth considering speeding up the loop by skipping icons "outside" of the current viewable are.. needs some more though.

*Bug* - The "changed" state of icons isnt being properly examined yet i dont think... maybe need to spend some time making sure it works as it should =)

This manifests itself in a number of ways - from icons flashing when nothing should be occuring - to icons being drawn twice causing transparent areas to become opaque looking.

Ive fixed a number of other bugs, and overall the code seems to be working better (read slightly faster, and doing what it should mostly ;P)

Progress!

Well, it seems the Line splitting was breaking due to a combination of borken prefs and failure to check certain values are sensible..

Now it no longer crashes/hangs ive re enabled it and tidied up the icon list selection code a little.

Also, I found why oliviers WBInfo wasnt displaying Info for disks - and fixed it, so now it should work as expected - though the actual content still needs some work ..

One other change ive made is to add an asynchronous scan of directories to display the no. of files & child dirs, and the consumed space.

Monday, May 30, 2005

Alive and Kicking!

Hurray!

AROS boots, and ive managed to get across the wanderer changes so far, however its not all smooth running

The label splitting code was making AROS Hang/crash so ive had to disable it till i can get a chance to see whats going down *sigh*

Ahhh well atleast things are moving again =)

Friday, May 27, 2005

Kals Fandabulous Blog

Well, after over half a year of futile hair pulling ive finally managed to get a full checkout of AROS alive and kicking. All compiles well so I can finaly get some time working with it again.

Still got a few issues to resolve - I dont like developing in linsux so its going to be a rough transition =*(

*sigh* If only theyd fix Samba ..

p.s. - I also need to migrate my existing changes to the new SVN codebase which might take some time =(

Tuesday, May 24, 2005

Welcome

wow my first blog =D

ahh well lets hope i have enough going on in my little life to post again!