[gmpi] Re: Reqs final draft
- From: "Didier Dambrin" <didid@xxxxxxxxx>
- To: <gmpi@xxxxxxxxxxxxx>
- Date: Fri, 14 Jan 2005 03:44:45 +0100
>doesn't it make sense that an exception due to the math unit is the LAST
thing you'd want in your mixing thread? Those can crash an app real bad.
Catching exceptions is great.. when you debug your code.
i am really not sure what happens on Windows, but catching FPU
exceptions on any POSIX system is simplicity itself (barring the usual
complications of mixing threads with POSIX signals).
the fact that an exception will be generated does not mean that an
application will crash, quite the opposite: its an opportunity for the
host to discover a buggy plugin and deal with it appropriately.
it means that the application will probably crash if you DON'T catch the
exception, or if you catch/handle it far from where it occured
Note that the FPU precision can be critical in some cases. There are fast
tricks to truncate floats, and if the precision is not what you expect,
they
will just not work. But ok, a plugin that uses them will probably set the
precision itself for safety.
this is an artifact of the terrible float/int design of the x86. not
that this doesn't mean its an important issue, but its not universal.
it will be less important since the SSE, but still important. Yes of course,
linked to x86's, so important for more than half of us here.
anyway, the point is that so far, there are 2 choices mentioned:
a) plugins may not change FPU state in any way
no, of course a plugin may change the FPU state, you can't require a plugin
not to change it
b) plugins may change FPU state but must restore it if they do
yes, what we're fighting about is.. what it should restore it to
----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules: Please stay on topic. You are responsible for your own
words. Please respect your fellow subscribers. Please do not
redistribute anyone else's words without their permission.
Archive: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- References:
- [gmpi] Re: Reqs final draft
- From: Paul Davis
Other related posts:
- » [gmpi] Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
- » [gmpi] Re: Reqs final draft
thing you'd want in your mixing thread? Those can crash an app real bad.
Catching exceptions is great.. when you debug your code.
i am really not sure what happens on Windows, but catching FPU exceptions on any POSIX system is simplicity itself (barring the usual complications of mixing threads with POSIX signals).
the fact that an exception will be generated does not mean that an application will crash, quite the opposite: its an opportunity for the host to discover a buggy plugin and deal with it appropriately.
Note that the FPU precision can be critical in some cases. There are fast
tricks to truncate floats, and if the precision is not what you expect, they
will just not work. But ok, a plugin that uses them will probably set the
precision itself for safety.
this is an artifact of the terrible float/int design of the x86. not that this doesn't mean its an important issue, but its not universal.
anyway, the point is that so far, there are 2 choices mentioned:
a) plugins may not change FPU state in any way
b) plugins may change FPU state but must restore it if they do
yes, what we're fighting about is.. what it should restore it to
---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission.
- [gmpi] Re: Reqs final draft
- From: Paul Davis