[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53271] trunk/lib/windows/osl: OSL: update windows 32 bit libraries with fix for 33619.

Brecht Van Lommel brechtvanlommel at pandora.be
Sat Dec 22 15:58:01 CET 2012


Revision: 53271
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53271
Author:   blendix
Date:     2012-12-22 14:58:01 +0000 (Sat, 22 Dec 2012)
Log Message:
-----------
OSL: update windows 32 bit libraries with fix for 33619. I'm doing this so the
bug reporter can test the fix, platform maintainers can wait updating the libs
as there are likely more fixes to come from other bug reports.

Modified Paths:
--------------
    trunk/lib/windows/osl/bin/oslc.exe
    trunk/lib/windows/osl/include/OSL/oslconfig.h
    trunk/lib/windows/osl/include/OSL/oslexec.h
    trunk/lib/windows/osl/lib/oslcomp.lib
    trunk/lib/windows/osl/lib/oslexec.lib
    trunk/lib/windows/osl/lib/oslquery.lib

Modified: trunk/lib/windows/osl/bin/oslc.exe
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/osl/include/OSL/oslconfig.h
===================================================================
--- trunk/lib/windows/osl/include/OSL/oslconfig.h	2012-12-22 14:25:34 UTC (rev 53270)
+++ trunk/lib/windows/osl/include/OSL/oslconfig.h	2012-12-22 14:58:01 UTC (rev 53271)
@@ -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/windows/osl/include/OSL/oslexec.h
===================================================================
--- trunk/lib/windows/osl/include/OSL/oslexec.h	2012-12-22 14:25:34 UTC (rev 53270)
+++ trunk/lib/windows/osl/include/OSL/oslexec.h	2012-12-22 14:58:01 UTC (rev 53271)
@@ -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, opt_fold_getattribute
+    ///    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.
     ///
     virtual bool Parameter (const char *name, TypeDesc t, const void *val)
@@ -168,11 +224,6 @@
     virtual bool ConnectShaders (const char *srclayer, const char *srcparam,
                                  const char *dstlayer, const char *dstparam)=0;
     
-    // Load OSO data from memory buffer, overriding shader lookups in the
-    // shader search path
-    virtual bool LoadMemoryShader (const char *shadername,
-                                   const char *buffer)=0;
-
     /// Return a reference-counted (but opaque) reference to the current
     /// shading attribute state maintained by the ShadingSystem.
     virtual ShadingAttribStateRef state () = 0;
@@ -416,6 +467,13 @@
     /// specified (object == ustring()), then the renderer should search *first*
     /// for the attribute on the currently shaded object, and next, if
     /// unsuccessful, on the currently shaded "scene". 
+    ///
+    /// Note to renderers: if renderstate is NULL, that means
+    /// get_attribute is being called speculatively by the runtime
+    /// optimizer, and it doesn't know which object the shader will be
+    /// run on. Be robust to this situation, return 'true' (retrieve the
+    /// attribute) if you can (known object and attribute name), but
+    /// otherwise just fail by returning 'false'.
     virtual bool get_attribute (void *renderstate, bool derivatives, 
                                 ustring object, TypeDesc type, ustring name, 
                                 void *val ) = 0;
@@ -505,7 +563,8 @@
     /// of the requested type stored in out_data.
     ///
     /// Return 1 if the attribute is found, 0 otherwise.
-    virtual int pointcloud_get (ustring filename, size_t *indices, int count,
+    virtual int pointcloud_get (ShaderGlobals *sg,
+                                ustring filename, size_t *indices, int count,
                                 ustring attr_name, TypeDesc attr_type,
                                 void *out_data);
 
@@ -543,9 +602,6 @@
                              TypeDesc type, void *val, bool derivatives) {
         return false;
     }
-
-private:
-    TextureSystem *m_texturesys;   // For default texture implementation
 };
 
 

Modified: trunk/lib/windows/osl/lib/oslcomp.lib
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/osl/lib/oslexec.lib
===================================================================
(Binary files differ)

Modified: trunk/lib/windows/osl/lib/oslquery.lib
===================================================================
(Binary files differ)




More information about the Bf-blender-cvs mailing list