[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53009] trunk/lib/darwin-9.x.universal: OSX/OSL: update with last fixes and commit IlmBaseConfig. h to make the find module work again
jens verwiebe
info at jensverwiebe.de
Fri Dec 14 18:05:33 CET 2012
Revision: 53009
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53009
Author: jensverwiebe
Date: 2012-12-14 17:05:32 +0000 (Fri, 14 Dec 2012)
Log Message:
-----------
OSX/OSL: update with last fixes and commit IlmBaseConfig.h to make the find module work again
Modified Paths:
--------------
trunk/lib/darwin-9.x.universal/osl/CHANGES
trunk/lib/darwin-9.x.universal/osl/bin/oslc
trunk/lib/darwin-9.x.universal/osl/include/OSL/oslconfig.h
trunk/lib/darwin-9.x.universal/osl/include/OSL/oslexec.h
trunk/lib/darwin-9.x.universal/osl/lib/liboslcomp.a
trunk/lib/darwin-9.x.universal/osl/lib/liboslexec.a
trunk/lib/darwin-9.x.universal/osl/lib/liboslquery.a
trunk/lib/darwin-9.x.universal/osl/osx_osl_compile.patch
trunk/lib/darwin-9.x.universal/osl/shaders/stdosl.h
Added Paths:
-----------
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IlmBaseConfig.h
Added: trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IlmBaseConfig.h
===================================================================
--- trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IlmBaseConfig.h (rev 0)
+++ trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IlmBaseConfig.h 2012-12-14 17:05:32 UTC (rev 53009)
@@ -0,0 +1,16 @@
+/* config/IlmBaseConfig.h. Generated by configure. */
+//
+// Define and set to 1 if the target system has POSIX thread support
+// and you want IlmBase to use it for multithreaded file I/O.
+//
+
+#define HAVE_PTHREAD 1
+
+//
+// Define and set to 1 if the target system supports POSIX semaphores
+// and you want OpenEXR to use them; otherwise, OpenEXR will use its
+// own semaphore implementation.
+//
+
+/* #undef HAVE_POSIX_SEMAPHORES */
+
Modified: trunk/lib/darwin-9.x.universal/osl/CHANGES
===================================================================
--- trunk/lib/darwin-9.x.universal/osl/CHANGES 2012-12-14 16:51:02 UTC (rev 53008)
+++ trunk/lib/darwin-9.x.universal/osl/CHANGES 2012-12-14 17:05:32 UTC (rev 53009)
@@ -1,8 +1,75 @@
Release 1.3.x - in progress (compared to 1.2)
----------------------------------------------
+Language, standard libary, and compiler changes (for shader writers):
+* pointcloud_write() allows shaders to write data and save it as a point
+ cloud.
+ShadingSystem API changes and new options (for renderer writers):
+* Default implementation of all the pointcloud_*() functions in
+ RendererServices, if Partio is found at build time.
+* ShadingSystem attribute "compile_report" controls whether information
+ should be sent to the renderer for each shading group as it compiles.
+ (The default is now to be more silent, set this to nonzero if you want
+ to see the old per-group status messages.)
+* ShadingSystem attribute "countlayerexecs" adds debugging code to count
+ the total number of shader layer executions (off by default; it slows
+ shader execution down slightly, is only meant for debugging).
+
+Performance improvements:
+* Reduce instance symbol memory use, lowering OSL-related memory by 1/2-2/3
+ for large scenes.
+* Better constant-folding for pointcloud_get (if indices are known).
+* Speed up implementation of exp() for some Linux platform (works around
+ a known glibc issue).
+* Speed up of mix() by making it a built-in function (rather than defined
+ in stdosl.h) and doing aggressive constant folding on it. Also some special
+ cases to try to avoid having mix() unnecessarily trigger execution of
+ earlier layers when one or both of its arguments is a connected shader
+ param and the mix value turns out to be 0 or 1.
+Bug fixes and minor improvements:
+* Fix incorrect oso output of matrix parameter initialization. (This did
+ not affect shader execution, but could result in oslquery/oslinfo not
+ reporting default matrix parameter values correctly.)
+* Bug fix: oslinfo didn't print int metadata values properly.
+* oslc better error checking when calling a variable as if it were a
+ function.
+* Parsing of oso files was broken for compiled shaders that had string
+ metadata whose metadata value contained the '}' character.
+Under the hood:
+* Simplify code generation of binary ops involving closures.
+
+Build & test system improvements and developer goodies:
+* Remove unused OpenGL and GLEW searching from CMake files.
+* Fix a variety of compiler warnings, particularly on newer compilers,
+ 32 bit platforms, and Windows.
+* Find LLVM correctly even when using "svn" LLVM versions.
+* Adjust failure threshold on some tests to account for minor platform
+ differences.
+* New minimum OIIO version: 1.1.
+* CMake fixes: Simplify searching for and using IlmBase, and remove
+ unneeded search for OpenEXR.
+* Find Partio (automatically, or using 'make PARTIO_HOME=...'), and if
+ found, use it to provide default RendererServices implementations of
+ all the pointcloud-related functions.
+* Make/CMake STOP_ON_WARNING flag (set to 0 or 1) controls whether the
+ build will stop upon any compiler warning (default) or if it should
+ keep going (=0).
+
+
+Release 1.2.1 - 6 Nov, 2012 (compared to 1.2.0)
+-----------------------------------------------
+* Fix incorrect oso output of matrix parameter initialization. (This did
+ not affect shader execution, but could result in oslquery/oslinfo not
+ reporting default matrix parameter values correctly.)
+* Build: remove unused OpenGL and GLEW searching from CMake files.
+* Build: Fix a variety of compiler warnings, particularly on newer compilers,
+ 32 bit platforms, and Windows.
+* Build: Find LLVM correctly even when using "svn" LLVM versions.
+* Bug fix: oslinfo didn't print int metadata values properly.
+
+
Release 1.2.0 - Aug 30, 2012 (compared to 1.1)
----------------------------------------------
Note: this is more or less the production-hardened version of OSL that
Modified: trunk/lib/darwin-9.x.universal/osl/bin/oslc
===================================================================
(Binary files differ)
Modified: trunk/lib/darwin-9.x.universal/osl/include/OSL/oslconfig.h
===================================================================
--- trunk/lib/darwin-9.x.universal/osl/include/OSL/oslconfig.h 2012-12-14 16:51:02 UTC (rev 53008)
+++ trunk/lib/darwin-9.x.universal/osl/include/OSL/oslconfig.h 2012-12-14 17:05:32 UTC (rev 53009)
@@ -50,9 +50,6 @@
#include <OpenImageIO/texture.h>
#include <OpenImageIO/typedesc.h>
#include <OpenImageIO/ustring.h>
-#if (OIIO_VERSION < 10100)
-namespace OIIO = OIIO_NAMESPACE;
-#endif
// Extensions to Imath
#include "matrix22.h"
Modified: trunk/lib/darwin-9.x.universal/osl/include/OSL/oslexec.h
===================================================================
--- trunk/lib/darwin-9.x.universal/osl/include/OSL/oslexec.h 2012-12-14 16:51:02 UTC (rev 53008)
+++ trunk/lib/darwin-9.x.universal/osl/include/OSL/oslexec.h 2012-12-14 17:05:32 UTC (rev 53009)
@@ -75,9 +75,60 @@
ErrorHandler *err=NULL);
static void destroy (ShadingSystem *x);
- /// Set an attribute controlling the texture system. Return true
+ /// Set an attribute controlling the shading system. Return true
/// if the name and type were recognized and the attrib was set.
- /// Documented attributes:
+ /// Documented attributes are as follows:
+ /// 1. Attributes that should be exposed to users:
+ /// int statistics:level Automatically print OSL statistics (0).
+ /// string searchpath:shader Colon-separated path to search for .oso
+ /// string colorspace Name of RGB color space ("Rec709")
+ /// int range_checking Generate extra code for component & array
+ /// range checking (1)
+ /// int debugnan Add extra (expensive) code to pinpoint
+ /// when NaN/Inf happens (0).
+ /// int compile_report Issue info messages to the renderer for
+ /// every shader compiled (0).
+ /// 2. Attributes that should be set by applications/renderers that
+ /// incorporate OSL:
+ /// string commonspace Name of "common" coord system ("world")
+ /// string[] raytypes Array of ray type names
+ /// int unknown_coordsys_error Should errors be issued when unknown
+ /// coord system names are used?
+ /// int strict_messages Issue error if a message is set after
+ /// being queried (1).
+ /// int lazylayers Evaluate shader layers only when their
+ /// outputs are first needed (1)
+ /// int lazyglobals Run layers lazily even if they write to
+ /// globals (0)
+ /// int greedyjit Optimize and compile all shaders up front,
+ /// versus only as needed (0).
+ /// int lockgeom Default 'lockgeom' value for shader params
+ /// that don't specify it (0). Lockgeom
+ /// means a param CANNOT be overridden by
+ /// interpolated geometric parameters.
+ /// int countlayerexecs Add extra code to count total layers run
+ /// 3. Attributes that that are intended for developers debugging
+ /// liboslexec itself:
+ /// These attributes may be helpful for liboslexec developers or
+ /// for debugging, but probably not for using OSL in production:
+ /// int debug Set debug output level (0)
+ /// int clearmemory Zero out working memory before each shade (0)
+ /// int optimize Runtime optimization level (2)
+ /// And there are several int options that, if set to 0, will turn
+ /// off individual classes of runtime optimizations:
+ /// opt_constant_param, opt_constant_fold, opt_stale_assign,
+ /// opt_elide_useless_ops, opt_elide_unconnected_outputs,
+ /// opt_peephole, opt_coalesce_temps, opt_assign, opt_mix
+ /// opt_merge_instances
+ /// int llvm_optimize Which of several LLVM optimize strategies (0)
+ /// int llvm_debug Turn on extra LLVM debug info (0)
+ /// int max_local_mem_KB Error if shader group needs more than this
+ /// much local storage to execute (1024K)
+ /// string debug_groupname Name of shader group -- debug only this one
+ /// string debug_layername Name of shader layer -- debug only this one
+ /// int optimize_nondebug If 1, fully optimize shaders that are not
+ /// designated as the debug shaders.
+ /// string only_groupname Compile only this one group (skip all others)
///
virtual bool attribute (const std::string &name, TypeDesc type,
const void *val) = 0;
@@ -129,6 +180,11 @@
return ok;
}
+ /// Load compiled shader (oso) from a memory buffer, overriding
+ /// shader lookups in the shader search path
+ virtual bool LoadMemoryCompiledShader (const char *shadername,
+ const char *buffer)=0;
+
/// Set a parameter of the next shader.
///
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list