[#8067] external texture plugin thread-safe modifications Submitted By: David Anderson (davywavy) It makes it so the "result" array is passed in, instead of a global var. I expanded the patch so it will play nice with older plugins that are not thread safe as well. I also updated the existing plugins in the release, so they are thread safe. --------------- What do people think of this.... ------------------ This should maybe be talked about in the functionality board or something, but what do people think of adding in default texture/sequence plugins. or making a seperate tree like lib for plugins. The reason I ask is we have had a couple of upgrades to the plugin system. (supporting float buffers for sequencer, and this one for textures) http://www.cs.umn.edu/~mein/blender/plugins does not store revisions of plugins I just make sure they work with the latest version. This is getting messy. I haven't upgraded a lot of them to use floats (I know, I'm lazy, and now this will also make modifications to the plugins) It would be nice to have some of the standard ones under revision control. We also seem to be having an explosion of platforms supported. It would be nice to have platform maintainers compiling plugins as well for releases. (Its getting to be more work for me to keep up with things...) I'll go back to my corner now and be quite. ;) Kent
47 lines
1.8 KiB
C++
47 lines
1.8 KiB
C++
/* Copyright (c) 1999, Not a Number / NeoGeo b.v.
|
|
*
|
|
* All rights reserved.
|
|
*
|
|
* Contact: info@blender.org
|
|
* Information: http://www.blender.org
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
* SUCH DAMAGE.
|
|
*/
|
|
|
|
#ifndef _EXTERNDEF_H
|
|
#define _EXTERNDEF_H
|
|
|
|
#ifdef WIN32
|
|
#ifdef PLUGIN_INTERN
|
|
#define LIBEXPORT __declspec(dllexport)
|
|
#define LIBIMPORT __declspec(dllexport)
|
|
#else
|
|
#define LIBEXPORT __declspec(dllexport)
|
|
#define LIBIMPORT extern __declspec(dllimport)
|
|
#endif
|
|
#elif !defined(WIN32)
|
|
#define LIBEXPORT extern
|
|
#define LIBIMPORT extern
|
|
#endif
|
|
|
|
#endif /* _EXTERNDEF_H */
|