Login
Username:

Password:

Remember me



Lost Password?

Register now!
Sections
Who's Online
40 user(s) are online (23 user(s) are browsing Forums)

Members: 0
Guests: 40

more...
Support us!
Recent OS4 Files
OS4Depot.net



« 1 2 3 4 (5)


Re: Help me in compiling latest pixman and cairo graphics
Home away from home
Joined:
2007/9/11 12:31
From Russia
Posts: 6321
@Salas00
From all the past work you do on Cairo with amiga-native surface with HW acceleration, do you think it is real to made some compositing based acceleration inside of the image-surface part of Cairo? (odyssey's Cairo part based on image-surface)

I mean theoretically, you think it's close to unreal, or doable? By default, image-surface is software rendering, interesting to know if we can add inside of it, just for amigaos4, some compositing based acceleration.

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

Re: Help me in compiling latest pixman and cairo graphics
Not too shy to talk
Joined:
2011/6/3 13:49
Posts: 262
As Nova can use bitmaps as source and dest it may be used to accelerate things too.
But Nova is so hard to setup even for basic drawings...

   Report Go to top

Re: Help me in compiling latest pixman and cairo graphics
Home away from home
Joined:
2007/9/11 12:31
From Russia
Posts: 6321
@thellier
Nova that all fine, but it will mean only speed up for newer cards , while if any sort of compositing acceleration can be added, it will works everywhere.

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

Re: Help me in compiling latest pixman and cairo graphics
Just can't stay away
Joined:
2006/11/30 11:30
From Finland
Posts: 1736
@kas1e

Quote:

From all the past work you do on Cairo with amiga-native surface with HW acceleration, do you think it is real to made some compositing based acceleration inside of the image-surface part of Cairo? (odyssey's Cairo part based on image-surface)


Not for the image-surface backend. The composite function only works on bitmaps and they have to be situated in VRAM as there is no GART.

In order to make it work the graphics would have to be moved to VRAM and back again for every operation which would be very slow especially for those machines that don't have a DMA engine.

   Report Go to top

Re: Help me in compiling latest pixman and cairo graphics
Home away from home
Joined:
2007/9/11 12:31
From Russia
Posts: 6321
@Salas00
So with image-surface we need to wait for DMA then ..

What else can we do then for Odyssey's cairo ? Replace image-surface usage in Odyssey of original cairo with your Cairo port with amiga-surface ? But then, will it anyhow help, if there needs to move everyhting to VRAM..


Edited by kas1e on 2020/3/28 6:29:05
Edited by kas1e on 2020/3/28 6:29:41
_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites
   Report Go to top

Re: Help me in compiling latest pixman and cairo graphics
Home away from home
Joined:
2007/9/11 12:31
From Russia
Posts: 6321
@Salas00
Tried to build latest pixman (0.36.0), with changes in pixman-compiler.h about TLS from your repo, and while all builds fine and links fine with Odyssey, it had some strange AmigaDOS warning when I exit from Odyssey saying :

"The process terminated without freeing all the memory that is placed onto the task memory list. This memory will not be freed automatically."

Process: Odyssey
Function: "Internal_RunCommand()".

Resized Image

I then rebuild it the same like I do before with previous versions of pixman with #define PIXMAN_NO_TLS, and without amigaos4 specific TLS code in the pixman-compiler.h, and a warning is gone.

It probabaly mean that something wrong with amigaos4 specific code in your repo about TLS part. Maybe related to tls_ ## name ## _free (void) part ? But i can't rule out that Odyssey's code need to be updated too of course..

If you can have a look at this that will be very helpfull. Surely i can update pixman just without TLS code again, but will be surely good to have it enabled, as it may help a bit there and there. Expectually it may help with some random race-conditions caused random crashes (at least as far as i understrand purposes of TLS)

Thanks!


EDIT: oh, i see that in this commit: https://github.com/salass00/pixman_lib ... 9efd75ae974c5142a5baac86b you seems to try to deal with the same bug , but tls_fast_path_cache_free() added to libClose of init.c (so meaning it's only for shared version of library), but where to put that stuff if i build just usuall link .a version ?


Edited by kas1e on 2020/4/26 12:21:37
Edited by kas1e on 2020/4/26 12:27:15
Edited by kas1e on 2020/4/26 12:32:18
Edited by kas1e on 2020/4/26 13:21:33
_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites
   Report Go to top

Re: Help me in compiling latest pixman and cairo graphics
Home away from home
Joined:
2007/9/11 12:31
From Russia
Posts: 6321
@Salas00

I just reuse your latest shared version of pixman, just with the same includes as before (like i do with Frank's ffmpeg libraries), so far all seems fine and working. Maybe only one minor thing i notice, that when there is no pixman-1.library found, instead of saying "can't open pixman-1.library" it just bring some assertion error about unability to init thing, but that not important of course, just minor thing.

Through i curious about one thing : in your configure you had "--disable-libpng". But in Odyssey visually even with that switch all seems to works still the same as before. Did you aware where exactly libpng have needs to be used in pixman build ?



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

Re: Help me in compiling latest pixman and cairo graphics
Just can't stay away
Joined:
2006/11/30 11:30
From Finland
Posts: 1736
@kas1e

Quote:

oh, i see that in this commit: https://github.com/salass00/pixman_lib ... 9efd75ae974c5142a5baac86b you seems to try to deal with the same bug , but tls_fast_path_cache_free() added to libClose of init.c (so meaning it's only for shared version of library), but where to put that stuff if i build just usuall link .a version ?


You can add it in a destructor function like:
void __attribute__((destructor)) pixman_cleanup(void)
{
    
tls_fast_path_cache_free();
}


or just use PIXMAN_NO_TLS if you don't need multi-threading, i.e. all rendering is done from the same thread.

Quote:

Through i curious about one thing : in your configure you had "--disable-libpng". But in Odyssey visually even with that switch all seems to works still the same as before. Did you aware where exactly libpng have needs to be used in pixman build ?


AFAIK libpixman doesn't need or use libpng itself. Instead it is only used in some tests/example programs.

   Report Go to top


« 1 2 3 4 (5)



[Advanced Search]


Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project