[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61382] trunk/lib/ darwin-9.x.universal/osl: OSX: update osl/llvm/oiio complex: part2 : osl to 1.5

jens verwiebe info at jensverwiebe.de
Fri Jul 25 10:14:24 CEST 2014


Revision: 61382
          https://developer.blender.org/rBL61382
Author:   jensverwiebe
Date:     2014-07-25 08:14:23 +0000 (Fri, 25 Jul 2014)
Log Message:
-----------
OSX: update osl/llvm/oiio complex: part2 : osl to 1.5

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/bin/oslinfo
    trunk/lib/darwin-9.x.universal/osl/doc/osl-languagespec.pdf
    trunk/lib/darwin-9.x.universal/osl/include/OSL/Imathx.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/accum.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/dual.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/dual_vec.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/export.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/genclosure.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/matrix22.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/optautomata.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/oslclosure.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/oslcomp.h
    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/include/OSL/oslquery.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/oslversion.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/shaders/emitter.oso
    trunk/lib/darwin-9.x.universal/osl/shaders/glass.oso
    trunk/lib/darwin-9.x.universal/osl/shaders/image.oso
    trunk/lib/darwin-9.x.universal/osl/shaders/matte.oso
    trunk/lib/darwin-9.x.universal/osl/shaders/metal.oso
    trunk/lib/darwin-9.x.universal/osl/shaders/stdosl.h
    trunk/lib/darwin-9.x.universal/osl/shaders/ubersurface.osl
    trunk/lib/darwin-9.x.universal/osl/shaders/ubersurface.oso

Added Paths:
-----------
    trunk/lib/darwin-9.x.universal/osl/include/OSL/llvm_util.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/rendererservices.h
    trunk/lib/darwin-9.x.universal/osl/include/OSL/shaderglobals.h

Modified: trunk/lib/darwin-9.x.universal/osl/CHANGES
===================================================================
--- trunk/lib/darwin-9.x.universal/osl/CHANGES	2014-07-25 08:08:37 UTC (rev 61381)
+++ trunk/lib/darwin-9.x.universal/osl/CHANGES	2014-07-25 08:14:23 UTC (rev 61382)
@@ -1,4 +1,302 @@
-Release 1.4.0 - 25 November 2013 (compared to 1.3)
+Changes:
+
+Release 1.6 -- in development (compared to 1.5)
+-----------------------------------------------
+Language, standard libary, and compiler changes (for shader writers):
+API changes, new options, new ShadingSystem features (for renderer writers):
+Performance improvements:
+Bug fixes:
+Under the hood:
+Build & test system improvements and developer goodies:
+Documentation:
+
+
+
+Release 1.5 -- Release candidate July 15, 2014 (compared to 1.4)
+----------------------------------------------
+Language, standard libary, and compiler changes (for shader writers):
+* New closure function for microfacet BSDFs:
+    closure color microfacet (string distribution, normal N,
+                              float alpha, float eta, int refract)
+    closure color microfacet (string distribution, normal N, vector U,
+                          float xalpha, float yalpha, float eta, int refract)
+  These replace the growing zoo of microfacet_blah functions (using
+  different distribution values such as "beckmann" or "ggx", as well as
+  selecting refraction when refract!=0). The old varieties are now considered
+  deprecated and will eventually be removed (but will alow back-compatibility
+  of compiled oso files).
+* Remove documentation about unimplemented hash() function -- it was never
+  implemented, and we can't figure out what it's good for. (#359) (1.5.7)
+* Documented the specific names that should be used with getattribute() to
+  retrieve common camera parameters. We should expect these to be the same
+  for all renderers (though individual renderers may also support additional
+  attribute queries). #393 (1.5.9)
+
+API changes, new options, new ShadingSystem features (for renderer writers):
+* ShadingSystem API changes:
+   * ShadingSystem::Parameter() has a new variety that can set lockgeom=0
+     for a particular parameter at runtime, even if it was not declared
+     this way in the shader's metadata.  This allows an app to effectively
+     say "I intend to vary this shader's parameter value, don't optimize as
+     if it were a a constant." (1.5.1)
+   * New ShadingSystem::ReParameter() lets you change the instance value of
+     a shader parameter after the shader group has already been declared
+     (but only if the shader has not yet been optimized, OR if the
+     parameter was declared with lockgeom=0). This, in combination with the
+     new SS::Parameter() variety, lets an app select a parameter for
+     variation, compile the shader network, and then continuously modify
+     the value and re-render without needing to redeclare and recompile the
+     shader group (though at a slightly higher execution cost than if the
+     parameter were fully optimized. (1.5.1)
+   * ShadingAttribState has been simlified and replaced with ShaderGroup.
+     And ShadingAttribStateRef replaced by ShaderGroupRef. (1.5.1)
+   * ShaderGroupBegin returns the ShaderGroupRef for the group, there is
+     no need to call state() to get the group reference. (1.5.1)
+   * New ShadingSystem::getattribute() and attribute() varieties that takes
+     a ShaderGroup* as a first argument, allows setting and retrieval of
+     attributes pertaining to a specific shader group. (#362, #368) (1.5.8)
+     SEE SECTION BELOW ON GROUP-SPECIFIC ATTRIBUTES
+   * New ShaderGroupBegin() variant takes a text description of a shader
+     group. (3.5.8) (#379) For example:
+        ShaderGroupBegin ("groupname", "surface",
+                             "param float fin 3.14; " /*concatenate string*/
+                             "shader a alayer;"
+                             "shader b blayer;"
+                             "connect alayer.f_out blayer.f_in;");
+   * ShadingSystem methods renderer() and texturesys() retrieve the
+     RendererServices and TextureSystem, respectively. (1.5.8)
+   * ShadingSystem statistics output now prints the version and major
+     runtime options. (1.5.8) (#369)
+* New/changed ShadingSystem global attributes:
+   * Attributes "archive_groupname" and "archive_filename", when set, will
+     cause the named group to be fully archived into a .tar, .tar.gz, or
+     .zip file containing the serialized description of the group, and all
+     .oso files needed to reconstruct it. This is great for shipping
+     debugging or performance benchmark cases to the developers! It's also
+     a good way to "extract" a shader network from the midst of a complex
+     renderer and then be able to reconstitute it inside a debugging test
+     harness like testshade. (1.5.8) (#381) For more detail and explanation,
+     please see https://github.com/imageworks/OpenShadingLanguage/pull/381
+* New per-ShaderGroup attributes:
+   * ShadingSystem::getattribute(group,...) allows queries that retrieve
+     all the names and types of userdata the compiled group may need
+     ("num_userdata", "userdata_names", "userdata_types"), as well as the
+     names of all textures it might access and whether it's possible that
+     it will try to acccess textures whose names are not known without
+     executing the shader ("num_textures_needed", "textures_needed",
+     "unknown_textures_needed"). (#362) (1.5.8)
+   * Retrieving the group attribute "pickle" (as a string) gives you the
+     serialized description of the shader group in the same format that is
+     accepted by ShaderGroupBegin(). (1.5.8) (#381)
+   * Group-wise attribute "renderer_outputs" (array of strings) lets you
+     specify different renderer outputs for each shader group in addition
+     to the ShadingSystem-wide "renderer_outputs" that apply to all groups.
+     Remember that naming the renderer outputs prevents those from being
+     optimized away if they are not connected to downstream
+     shaders. (1.5.8) (#386)
+   * New group attribute queries: "groupname", "num_layers", "layer_names"
+     allow you to ask for the name of the group, how many layers there are,
+     and the names of all the layers.
+* ShaderGlobals changes:
+   * Added a RendererServices pointer to ShaderGlobals, to eliminate a
+     bunch of pointless indirection during shader execution. (1.5.2)
+   * Split the definition of ShaderGlobals into its own header file,
+     shaderglobals.h. (1.5.1)
+* RendererServices changes:
+   * RendererServices::get_texture_info method parameters have changed, now
+     includes an additional ShaderGlobals* parameter (as did all the other
+     texture functions already). (1.5.5)
+   * Split RendererServices definition into separate rendererservices.h. (1.5.6)
+   * Add RendererServices::texturesys() that returns a pointer to the
+     RS's TextureSystem. (1.5.6)
+   * Add a ShaderGlobals* parameter to the various get_matrix and
+     get_inverse_matrix methods. This makes it easier for renderers that
+     might need the ShaderGlobals (or access to the void* renderstate
+     contained therein) to look up matrices, especially if the renderer
+     supports different per-primitive transformation name bindings.
+     #396 (1.5.10)
+   * Change the last 4 RenderServices methods that took a void* renderstate
+     to instead take a ShaderGlobals *. It's more general, since the SG
+     does itself contain the renderstate pointer, and some implementations
+     or features might need the other contents of the SG. #396 (1.5.10)
+* OSLQuery changes:
+   * OSLQuery::Parameter has a new 'structname' field, that for struct
+     parameters reveals the name of the structure type. The oslinfo utility
+     has also been updated to print this information. (1.5.4)
+   * OSLQuery now may be initialized by a ShaderGroup*, which allows an
+     app with a live shading system to query information about shaders
+     much more efficiently than reloading and parsing the .oso file from
+     disk. #387 (1.5.8)
+   * OSLQuery API has replaced most of its std::string parameters and
+     members with string_view and ustring, to speed it up and eliminate
+     lots of small allocations. This may introduce some small source
+     incompatibilities with the old OSLQuery, but they should be very
+     easy to fix in your code.  #387 (1.5.8)
+* Miscellaneous/general:
+   * Use OIIO's new string_view for many public API input parameters that
+     previously took a std::string& or a const char*. (1.5.7) (#361)
+   * De-virtualized OSLCompiler and ShadingSystem classes -- it is now safe to
+     construct them in the usual way, the create() and destroy() functions for
+     them are optional/deprecated. (#363) (1.5.8)
+
+Performance improvements:
+* Dramatically speed up LLVM optimization & JIT of small shaders --
+  reducing the per-shader-network compile overhead of small shaders
+  from 0.1-0.2s to less than 0.01s per shader group. (1.5.1)
+* Runtime constant folding of substr(). (1.5.6)
+* Improved code generation for texture calls, removing redundant setting
+  of optional texture parameters when they don't change from the default
+  values. (1.5.6)
+* Remove lock from RendererServices texture calls that would create a big
+  thread botteneck (but only for renderers that used the RS base class
+  texture calls; those that overrode them would not notice). (1.5.6)
+* Constant folding of certain assignments to individual components or
+  array elements. (#356) (1.5.7)
+* Much more complete constant-folding of format(). (1.5.8) (#366)
+* Enhanced simplification of component and array assignment, when
+  multiple assignments actually fill out the entire array or aggregate.
+  For example: 'color C; C[0] = 3.14; C[1] = 0; C[2] = 42.0;'
+  Now it recognizes that all components are assigned and will replace
+  the whole thing (and subsequent uses of C) with a constant
+  color. (1.5.8) (#367)
+* Eliminate redundant retrieval of userdata within a shading
+  network. (1.5.8) (#373)
+
+Bug fixes:
+* testshade/testrender timer didn't properly break out execution time
+  from setup time. (1.4.1/1.5.1)
+* Guard matrix*point transformations against possible division by zero.
+  (1.4.1/1.5.1)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list