Well ive been quiet for a while now but things havent been completely on hold.
Ive recently put finishing touches to a network driver for SiS900/SiS7016 based NIC's, and also have an Intel Gigabit NIC driver roughly 95% complete. Once I have it working I hope to find the remaining problems with the RTL8139 code and try and get it finished up also.
Other than that ive been working away on Wanderer and finally enabled the snapshot menu options, so now you can snapshot drawer windows positions/size aswell as your icon positions, however currently wanderer doesnt display Icons with coords as they should be - something I will look into shortly.
Ive also been working in other parts of Wanderer .. so now for instance it will load the contents of .backdrop files listed in volume root directories and add the Icons therein to the desktop like on AmigaOS.
The menu options to add/remove the files arent yet operational but soon they will be ;)
Im also in the process of reworking the menu handling a little so that they are updated dynamically depending on selected icons, and "view" options.
Once these things are fixed - The only remaining menu option I will tackle will be the Empty Trash option =D
Then its back to trying to fix the buffered IconList handling since this is something id really like to get working soon!
Thursday, August 14, 2008
Thursday, April 17, 2008
Oh so quiet (again)

Ive been a little bussy with real life lately to blog much, especially since ive been trying to spend as much time with my quickly growing son (who is now 6 1/2 months old =O).
Recently with the help of michal schulz weve added basic ACPI table parsing to AROS64s kernel, aswell as making it register found CPU cores and put them into an idle state as the foundation for getting some SMP functionality working.
Ive also been playing about with various other parts of AROS but ill get to that later ;)
Saturday, March 29, 2008
Grub Tastic!
Saturday, February 09, 2008
Wanderer work continues..
Well im slowly hacking away at reworking the rendering code for wanderer iconlist class. The intermediate goal is to allow icon windows to buffer the icon/background rendering so, for instance, using the tiled rendering mode for iconlist backgrounds wont cause noticable icon flickering as it currently does. Even the current background modes generate some flicker depending on how observant you are but obviously for the tiled modes more is redrawn and therefore more noticably flickery.
The Final goal however is to allow the Iconlist class to support 3 rendering modes.
# Plain mode which directly does all rendering to the windows bitmap. This is the currently used method.
# Buffered mode which will perform all rendering to a backbuffer before blitting to the windows bitmap.
# Composited mode (future) Will render icons and masks to seperate bitmaps from the window background. The background layer will be "accessable" by external code so that animated/etc backgrounds can be displayed.
Ive also commited the basic multi-line rendering code to wanderer now though it isnt working 100% currently. Some very short lables which wouldnt/shouldnt get wrapped arent being correctly displayed but it should be a trivial adjustment to the code to fix this. Also the attributes which govern the rendering of icons and labels are now settable via wanderers prefs .. Allowing for more tuned desktops =D
The final steps for the prefs side of things is to allow per-view (Workbench/Drawer window etc) Fonts to be set, and their respective colors. Also the views will be able to inherit settings from a parent view - so that by default the drawer windows will inherit most options from the workbench windows view.
After that it remains to write a small tool that will allow setting the attributes for any of the view's from outside wanderer prefs... so that a theme application may push options onto wanderer and hopefully tie the two things together a bit better..
.... watch this space
The Final goal however is to allow the Iconlist class to support 3 rendering modes.
# Plain mode which directly does all rendering to the windows bitmap. This is the currently used method.
# Buffered mode which will perform all rendering to a backbuffer before blitting to the windows bitmap.
# Composited mode (future) Will render icons and masks to seperate bitmaps from the window background. The background layer will be "accessable" by external code so that animated/etc backgrounds can be displayed.
Ive also commited the basic multi-line rendering code to wanderer now though it isnt working 100% currently. Some very short lables which wouldnt/shouldnt get wrapped arent being correctly displayed but it should be a trivial adjustment to the code to fix this. Also the attributes which govern the rendering of icons and labels are now settable via wanderers prefs .. Allowing for more tuned desktops =D
The final steps for the prefs side of things is to allow per-view (Workbench/Drawer window etc) Fonts to be set, and their respective colors. Also the views will be able to inherit settings from a parent view - so that by default the drawer windows will inherit most options from the workbench windows view.
After that it remains to write a small tool that will allow setting the attributes for any of the view's from outside wanderer prefs... so that a theme application may push options onto wanderer and hopefully tie the two things together a bit better..
.... watch this space
Wednesday, September 26, 2007
Been a while..
I havent been keeping upto date on my blog for a while .. it seems real life has gotten the better of me again...
.. but anyhow since my last post lots of things have been going on which have kept me a bit bussy. One of the most important being the impending arrival of my "soon to be born" baby =D
due to this ive not had much time for coding and a lot of things have been a bit neglected, however ive been trying to catch up a little recently and am waiting with baited breath for michal's port of AROS to the x86-64 architecture (which seems to be progressing at some pace!)
Another thing which has recently caught my eye thanks to rob (fce2) is a project close to my own interests - http://www.tungstengraphics.com/wiki/index.php/Gallium3D
It seems the open source world are already leaps ahead of my mesagl project with a design for a better 3d driver abstraction that sits between mesa or any other 3d api and interfaces with the hardware - almost exactly what i wouldve liked to achieve.... so once i have time i will be looking at how to use it as a basis for my 3d hidds for AROS.
This has a number of benefits from my perspective including ..
# The majorioty of code is developed by people with much more experience in this field than myself (definatley a bonus!)
# The code is mostly developed externally to AROS - so we only need to provide the hidd api's and some glue
# How it interacts is all in place saving a considerable amount of effort on my part.
# Drivers using the API (theres an example i915 driver included) should be easily portable to AROS.
Hmmm ... bring on the free time!
.. but anyhow since my last post lots of things have been going on which have kept me a bit bussy. One of the most important being the impending arrival of my "soon to be born" baby =D
due to this ive not had much time for coding and a lot of things have been a bit neglected, however ive been trying to catch up a little recently and am waiting with baited breath for michal's port of AROS to the x86-64 architecture (which seems to be progressing at some pace!)
Another thing which has recently caught my eye thanks to rob (fce2) is a project close to my own interests - http://www.tungstengraphics.com/wiki/index.php/Gallium3D
It seems the open source world are already leaps ahead of my mesagl project with a design for a better 3d driver abstraction that sits between mesa or any other 3d api and interfaces with the hardware - almost exactly what i wouldve liked to achieve.... so once i have time i will be looking at how to use it as a basis for my 3d hidds for AROS.
This has a number of benefits from my perspective including ..
# The majorioty of code is developed by people with much more experience in this field than myself (definatley a bonus!)
# The code is mostly developed externally to AROS - so we only need to provide the hidd api's and some glue
# How it interacts is all in place saving a considerable amount of effort on my part.
# Drivers using the API (theres an example i915 driver included) should be easily portable to AROS.
Hmmm ... bring on the free time!
Wednesday, April 25, 2007
mmmmm Themes
Thanks to the work of Darius Brewka and Georg Steiger AROS recently got support for some nice themed windows =D
A few people have been bevering away on nice replacement themes, and ive even had the bug myself ;p
Heres a quick preview of its progress ..
comming along nicely I think though theres still a lot of fine tunning to be done =)
Theres also some of my more recent wanderer changes visible, and work is comming along nicely on that front also (albeit slowly with this theme stuff)
Tuesday, April 10, 2007
Possible changes to come (my "plans" for wanderer) ...
Ive been thinking about what i would like to do next in wanderer and decided the following things are needing some time ..
Rework some existing classes and provide new headers/code ..
Wanderer :
Zune:
And a bunch of TODOs for things ive already done ....
The desired end result is to have the following files :-
IconWindowFileArea.wui
* Provides IconWindowFileArea class
# Automatically loads files matching "IconWindowFileArea#?.wcc"
# Automatically loads FileAreaView.wui
* Provides an "IconWindowVolume#?" and "IconWindowDirectory#?" class for each class registered with FileAreaView.wcc
IconWindowFileAreaImageBackfill.wcc
FileAreaView.wui
* Automatically loads files matching "File#?Area.wcc"
FileArea.wcc
* Provides VolumeArea and DirectoryArea classes
FileListArea.wcc
* Provides VolumeListArea and DirectoryListArea classes
FileIconArea.wcc
* Provides VolumeIconArea and DirectoryIconArea classes
IconWindowToolbarExtension.wui
Rework some existing classes and provide new headers/code ..
Wanderer :
# Create Wanderer\Classes\FileArea.c/.h/_mcc.h based on generic volume/directory code from the current iconlist class
# Rename Wanderer\iconwindowcontents.c/.h to Wanderer\Classes\IconWindowFileArea.c/.h and use methods/attributes defined in FileArea_mcc.h
# Rename Wanderer\iconwindowbackfill.c/.h to Wanderer\Classes\IconWindowImageBackfill.c/.h
# Create Wanderer\Classes\IconWindowToolbarExtension.c/.h using the current code for the toolbar in wanderer.c
# Create Wanderer\Classes\FileListArea.c/.h based on Georges example list view mode code
Zune:
# Rename MUIMaster\Classes\IconList.c/.h to Wanderer\Classes\FileIconArea.c/.h using the methods/attributes defined in FileArea_mcc.h
# Rename MUIMaster\Classes\IconListview.c/.h to Wanderer\Classes\FileAreaView.c/.h using the methods/attributes defined in FileArea_mcc.h
And a bunch of TODOs for things ive already done ....
# (NEW) Make IconList derived classes support buffered display to remove flickering ..
# Import "View all files" changes ..
# Import IconLabel state changes ..
# Import IconLabel wrapped display changes ..
# Import Keyboard navigation changes ..
# Import Extended "New.." changes ..
# Import Fixed Icon Position changes ..
# Import Inline Name Editing changes ..
The desired end result is to have the following files :-
Wanderer:
Wanderer
Wanderer.info
Classes/
IconWindowFileArea.wui
FileAreaView.wui
FileArea.wcc
FileListArea.wcc
FileIconArea.wcc
IconWindowToolbarExtension.wui
IconWindowFileArea.wui
* Provides IconWindowFileArea class
# Automatically loads files matching "IconWindowFileArea#?.wcc"
# Automatically loads FileAreaView.wui
* Provides an "IconWindowVolume#?" and "IconWindowDirectory#?" class for each class registered with FileAreaView.wcc
IconWindowFileAreaImageBackfill.wcc
FileAreaView.wui
* Automatically loads files matching "File#?Area.wcc"
FileArea.wcc
* Provides VolumeArea and DirectoryArea classes
FileListArea.wcc
* Provides VolumeListArea and DirectoryListArea classes
FileIconArea.wcc
* Provides VolumeIconArea and DirectoryIconArea classes
IconWindowToolbarExtension.wui
Wanderer Backgrounds ...
Ive just commited the fruits of the last 3 weeks work... replacing how wanderer handles backgrounds and support for further background types.
Took a lot of work to get it going correctly:
# Reworked wanderers prefs file format so global data is stored in one chunk, while background image data gets a chunk per background type (only "Workbench" and "Drawer types get used atm ..) - and each data chunk gets a header chunk to define it =D
# Changed the prefs app so that it uses the new format, aswell as the main wanderer app.
# Implemented a small plugin like system for adding backfill modules - and made the support code fallback to using Zune with more sane settings ..
# wrote a backfill module to handle custom image rendering including fixed place tiling/ floating place tiling/ scaled image rendering aswell as using offsets for tiles/patterns.
# Tidied up the existing iconlist class(es) to work better for different background rendering needs.
Ive also implemented preliminary support for internal handling of Workbench Backdrop mode so we no longer need a hacky (eww) extra attribute in zune (MUIA_Window_WandererBackdrop) but just now it seems to be having stability issues ..
Happy Wandering =D
Took a lot of work to get it going correctly:
# Reworked wanderers prefs file format so global data is stored in one chunk, while background image data gets a chunk per background type (only "Workbench" and "Drawer types get used atm ..) - and each data chunk gets a header chunk to define it =D
# Changed the prefs app so that it uses the new format, aswell as the main wanderer app.
# Implemented a small plugin like system for adding backfill modules - and made the support code fallback to using Zune with more sane settings ..
# wrote a backfill module to handle custom image rendering including fixed place tiling/ floating place tiling/ scaled image rendering aswell as using offsets for tiles/patterns.
# Tidied up the existing iconlist class(es) to work better for different background rendering needs.
Ive also implemented preliminary support for internal handling of Workbench Backdrop mode so we no longer need a hacky (eww) extra attribute in zune (MUIA_Window_WandererBackdrop) but just now it seems to be having stability issues ..
Happy Wandering =D
Tuesday, March 20, 2007
Thursday, August 10, 2006
A little progress
Work has been taking up a lot of my time recently (well, the occasional session on WoW also slips in ofc.) but im still working on a few things when I can..
Im at the early stages of making AROSMesaGL into a shared library, and have the library itself compiling with a bunch of stub functions in place (its roughly 3mb in size!) however theres a long way till it works properly.
I have also been tinkering with an audio driver for SoundBlaster PCI type cards (es137x based chipsets) which is slowly making progress, though im about to redo the main code now that I understand it a little better..
Ho hum, back to the code ..
Im at the early stages of making AROSMesaGL into a shared library, and have the library itself compiling with a bunch of stub functions in place (its roughly 3mb in size!) however theres a long way till it works properly.
I have also been tinkering with an audio driver for SoundBlaster PCI type cards (es137x based chipsets) which is slowly making progress, though im about to redo the main code now that I understand it a little better..
Ho hum, back to the code ..
Sunday, June 04, 2006
Lots of going on ..
Well,
A lot of things are happening on the mesa front.
Fisrtly, Ive been beavering away on a GLUT for AROSMesa.
Its starting to take shape now and every new build seems a bit more responsive and feature complete.
The only main lacking features of GLUT at the moment are using the AROS timer device to signal when a timed event is to happen saving us iterating loops every run, and using the AROS systems fonts instead of hardcoded ones.
Ive successfully compiled a number of test apps, including nearly everything in the mesa 6.5 demos archive - and only a very small number dont work.
Ive also started porting a first test game- FrontierGL at oliviers request, however its requiring me to use the full SDL (1.2.10 atm) from its main branch - and so far im not having much joy getting it to correctly link.
It does compile however - as does FrontierGL (and loads!) - so hopefully sometime soon i can get it all running.
One thing im pleased with is the change to use a global message port in the glut alphas. Instead of letting the app run in a continuous loop we wait after every "run" - and send a message to ourself if we need to run again.
This lets the system have its turn every time we finish doing something, so it should make the apps a bit more system friendly. Test runs so far actualy indicate it makes GLUT apps run faster (upto 3x!) since they are processing less pointless stuff.
It also seems to have had a knock on effect on some benchmarking demos (gltesperf and trispd for instance) in that they now actually work - and very well too afaict!
Ive fixed up the alpha channel code in AROSMesa/mesagl.hidd so the demos needing it now work properly - and look v nice =)
A lot of things are happening on the mesa front.
Fisrtly, Ive been beavering away on a GLUT for AROSMesa.
Its starting to take shape now and every new build seems a bit more responsive and feature complete.
The only main lacking features of GLUT at the moment are using the AROS timer device to signal when a timed event is to happen saving us iterating loops every run, and using the AROS systems fonts instead of hardcoded ones.
Ive successfully compiled a number of test apps, including nearly everything in the mesa 6.5 demos archive - and only a very small number dont work.
Ive also started porting a first test game- FrontierGL at oliviers request, however its requiring me to use the full SDL (1.2.10 atm) from its main branch - and so far im not having much joy getting it to correctly link.
It does compile however - as does FrontierGL (and loads!) - so hopefully sometime soon i can get it all running.
One thing im pleased with is the change to use a global message port in the glut alphas. Instead of letting the app run in a continuous loop we wait after every "run" - and send a message to ourself if we need to run again.
This lets the system have its turn every time we finish doing something, so it should make the apps a bit more system friendly. Test runs so far actualy indicate it makes GLUT apps run faster (upto 3x!) since they are processing less pointless stuff.
It also seems to have had a knock on effect on some benchmarking demos (gltesperf and trispd for instance) in that they now actually work - and very well too afaict!
Ive fixed up the alpha channel code in AROSMesa/mesagl.hidd so the demos needing it now work properly - and look v nice =)
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.
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
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 ...
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)
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.
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.
# 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.
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)
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.
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.
Subscribe to:
Posts (Atom)