A bit hackish implementation of a profiler for the scheduler.
SCHEDULER_ENTER_FUNCTION at the begining of each function aren't nice and
usage of __PRETTY_FUNCTION__ isn't any better (both gcc and clang support
it though), but it was quick to implement and doesn't lose information
on inlined functions. It's just a tool, not an integral part of the kernal
anyway.
* SetExportMode() was supposed to toggle the panel title from "*Save*" to
"*Export*", but never called Window()->SetTitle().
* Remove now duplicate translation from constructor.
When drawing a bilinear-scaled bitmap with agg, we used to interpolate
the edge pixels assuming everything out of the picture was black. This
led to an ugly dark border around the scaled image.
Instead, use the "clone" method, which repeats the last line or column
of pixels around the image, leading to more correct results in most
cases.
This also helps with some of WebKit tests, which are trying to use
images as references and don't expect an extra border around them.
* As the OpenGL kit is assumed by most ports (and BeOS apps)
to "exist", lets make mesa_devel present by default until
post R1
* mesa_swrast ensures we always have the basic swrast renderer
To play with mesa_swpipe (gallium llvmpipe, gcc4) uninstall
mesa_swrast and install mesa_swpipe. (you can install both,
but it's first renderer found, first used atm)
* Fix issue where mesa_devel attempted to lay
a symlink over a directory causing instability
installing mesa_devel
* Add mesa_swpipe to repos (LLVM enabled Gallium softpipe)
Apart from the refactoring this commit takes the opportunity and removes
unnecessary read locks when choosing a package and a core from idle lists.
The data structures are accessed in a thread safe way and it does not really
matter whether the obtained data becomes outdated just when we release the
lock or during our search for the appropriate package/core.
- In the case of DWARF4's DW_OP_implicit_value, respective handling in
Value{Piece}Location wasn't entirely correct, which would lead to double
frees in various cases, in particular when copying such objects on the stack.
As such, introduce an explicit Copy() member to handle replicating the stored
implicit data to avoid that issue. Furthermore, the use of Array<> in
ValueLocation wasn't really suitable anymore since ValuePieceLocation now
needs its constructor/destructor to be executed, while Array is intended for
POD types; consequently, replace that with std::vector and adjust handling
code accordingly.
* Fix off-by-one issue in Draw() and GetPreferredSize(). The label was
too close to the knob.
* GetPreferredSize(): Remove empty space to the right, when no label
and no icon was specified. Like with BCheckBox there's still two rows
of empty pixels above and below the knob.
* Draw(), GetPreferredSize(): Add icon support.