[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