[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [62378] trunk/lib/linux_centos7_x86_64/embree: Libs: Linux, add Embree 3.8.0
Sergey Sharybin
sergey.vfx at gmail.com
Mon Feb 17 14:28:38 CET 2020
Revision: 62378
https://developer.blender.org/rBL62378
Author: sergey
Date: 2020-02-17 14:28:38 +0100 (Mon, 17 Feb 2020)
Log Message:
-----------
Libs: Linux, add Embree 3.8.0
Added Paths:
-----------
trunk/lib/linux_centos7_x86_64/embree/
trunk/lib/linux_centos7_x86_64/embree/include/
trunk/lib/linux_centos7_x86_64/embree/include/embree3/
trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore.h
trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_buffer.h
trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_builder.h
trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_common.h
trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_config.h
trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_device.h
trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_geometry.h
trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_quaternion.h
trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_ray.h
trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_scene.h
trunk/lib/linux_centos7_x86_64/embree/lib/
trunk/lib/linux_centos7_x86_64/embree/lib/libembree3.a
trunk/lib/linux_centos7_x86_64/embree/lib/libembree_avx.a
trunk/lib/linux_centos7_x86_64/embree/lib/libembree_avx2.a
trunk/lib/linux_centos7_x86_64/embree/lib/libembree_sse42.a
trunk/lib/linux_centos7_x86_64/embree/lib/liblexers.a
trunk/lib/linux_centos7_x86_64/embree/lib/libmath.a
trunk/lib/linux_centos7_x86_64/embree/lib/libsimd.a
trunk/lib/linux_centos7_x86_64/embree/lib/libsys.a
trunk/lib/linux_centos7_x86_64/embree/lib/libtasking.a
Added: trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore.h
===================================================================
--- trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore.h (rev 0)
+++ trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore.h 2020-02-17 13:28:38 UTC (rev 62378)
@@ -0,0 +1,27 @@
+// ======================================================================== //
+// Copyright 2009-2020 Intel Corporation //
+// //
+// Licensed under the Apache License, Version 2.0 (the "License"); //
+// you may not use this file except in compliance with the License. //
+// You may obtain a copy of the License at //
+// //
+// http://www.apache.org/licenses/LICENSE-2.0 //
+// //
+// Unless required by applicable law or agreed to in writing, software //
+// distributed under the License is distributed on an "AS IS" BASIS, //
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. //
+// See the License for the specific language governing permissions and //
+// limitations under the License. //
+// ======================================================================== //
+
+#pragma once
+
+#include "rtcore_config.h"
+#include "rtcore_common.h"
+#include "rtcore_device.h"
+#include "rtcore_buffer.h"
+#include "rtcore_ray.h"
+#include "rtcore_geometry.h"
+#include "rtcore_scene.h"
+#include "rtcore_builder.h"
+#include "rtcore_quaternion.h"
Added: trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_buffer.h
===================================================================
--- trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_buffer.h (rev 0)
+++ trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_buffer.h 2020-02-17 13:28:38 UTC (rev 62378)
@@ -0,0 +1,64 @@
+// ======================================================================== //
+// Copyright 2009-2020 Intel Corporation //
+// //
+// Licensed under the Apache License, Version 2.0 (the "License"); //
+// you may not use this file except in compliance with the License. //
+// You may obtain a copy of the License at //
+// //
+// http://www.apache.org/licenses/LICENSE-2.0 //
+// //
+// Unless required by applicable law or agreed to in writing, software //
+// distributed under the License is distributed on an "AS IS" BASIS, //
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. //
+// See the License for the specific language governing permissions and //
+// limitations under the License. //
+// ======================================================================== //
+
+#pragma once
+
+#include "rtcore_device.h"
+
+RTC_NAMESPACE_BEGIN
+
+/* Types of buffers */
+enum RTCBufferType
+{
+ RTC_BUFFER_TYPE_INDEX = 0,
+ RTC_BUFFER_TYPE_VERTEX = 1,
+ RTC_BUFFER_TYPE_VERTEX_ATTRIBUTE = 2,
+ RTC_BUFFER_TYPE_NORMAL = 3,
+ RTC_BUFFER_TYPE_TANGENT = 4,
+ RTC_BUFFER_TYPE_NORMAL_DERIVATIVE = 5,
+
+ RTC_BUFFER_TYPE_GRID = 8,
+
+ RTC_BUFFER_TYPE_FACE = 16,
+ RTC_BUFFER_TYPE_LEVEL = 17,
+ RTC_BUFFER_TYPE_EDGE_CREASE_INDEX = 18,
+ RTC_BUFFER_TYPE_EDGE_CREASE_WEIGHT = 19,
+ RTC_BUFFER_TYPE_VERTEX_CREASE_INDEX = 20,
+ RTC_BUFFER_TYPE_VERTEX_CREASE_WEIGHT = 21,
+ RTC_BUFFER_TYPE_HOLE = 22,
+
+ RTC_BUFFER_TYPE_FLAGS = 32
+};
+
+/* Opaque buffer type */
+typedef struct RTCBufferTy* RTCBuffer;
+
+/* Creates a new buffer. */
+RTC_API RTCBuffer rtcNewBuffer(RTCDevice device, size_t byteSize);
+
+/* Creates a new shared buffer. */
+RTC_API RTCBuffer rtcNewSharedBuffer(RTCDevice device, void* ptr, size_t byteSize);
+
+/* Returns a pointer to the buffer data. */
+RTC_API void* rtcGetBufferData(RTCBuffer buffer);
+
+/* Retains the buffer (increments the reference count). */
+RTC_API void rtcRetainBuffer(RTCBuffer buffer);
+
+/* Releases the buffer (decrements the reference count). */
+RTC_API void rtcReleaseBuffer(RTCBuffer buffer);
+
+RTC_NAMESPACE_END
Added: trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_builder.h
===================================================================
--- trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_builder.h (rev 0)
+++ trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_builder.h 2020-02-17 13:28:38 UTC (rev 62378)
@@ -0,0 +1,138 @@
+// ======================================================================== //
+// Copyright 2009-2020 Intel Corporation //
+// //
+// Licensed under the Apache License, Version 2.0 (the "License"); //
+// you may not use this file except in compliance with the License. //
+// You may obtain a copy of the License at //
+// //
+// http://www.apache.org/licenses/LICENSE-2.0 //
+// //
+// Unless required by applicable law or agreed to in writing, software //
+// distributed under the License is distributed on an "AS IS" BASIS, //
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. //
+// See the License for the specific language governing permissions and //
+// limitations under the License. //
+// ======================================================================== //
+
+#pragma once
+
+#include "rtcore_scene.h"
+
+RTC_NAMESPACE_BEGIN
+
+/* Opaque BVH type */
+typedef struct RTCBVHTy* RTCBVH;
+
+/* Input build primitives for the builder */
+struct RTC_ALIGN(32) RTCBuildPrimitive
+{
+ float lower_x, lower_y, lower_z;
+ unsigned int geomID;
+ float upper_x, upper_y, upper_z;
+ unsigned int primID;
+};
+
+/* Opaque thread local allocator type */
+typedef struct RTCThreadLocalAllocatorTy* RTCThreadLocalAllocator;
+
+/* Callback to create a node */
+typedef void* (*RTCCreateNodeFunction) (RTCThreadLocalAllocator allocator, unsigned int childCount, void* userPtr);
+
+/* Callback to set the pointer to all children */
+typedef void (*RTCSetNodeChildrenFunction) (void* nodePtr, void** children, unsigned int childCount, void* userPtr);
+
+/* Callback to set the bounds of all children */
+typedef void (*RTCSetNodeBoundsFunction) (void* nodePtr, const struct RTCBounds** bounds, unsigned int childCount, void* userPtr);
+
+/* Callback to create a leaf node */
+typedef void* (*RTCCreateLeafFunction) (RTCThreadLocalAllocator allocator, const struct RTCBuildPrimitive* primitives, size_t primitiveCount, void* userPtr);
+
+/* Callback to split a build primitive */
+typedef void (*RTCSplitPrimitiveFunction) (const struct RTCBuildPrimitive* primitive, unsigned int dimension, float position, struct RTCBounds* leftBounds, struct RTCBounds* rightBounds, void* userPtr);
+
+/* Build flags */
+enum RTCBuildFlags
+{
+ RTC_BUILD_FLAG_NONE = 0,
+ RTC_BUILD_FLAG_DYNAMIC = (1 << 0),
+};
+
+enum RTCBuildConstants
+{
+ RTC_BUILD_MAX_PRIMITIVES_PER_LEAF = 32
+};
+
+/* Input for builders */
+struct RTCBuildArguments
+{
+ size_t byteSize;
+
+ enum RTCBuildQuality buildQuality;
+ enum RTCBuildFlags buildFlags;
+ unsigned int maxBranchingFactor;
+ unsigned int maxDepth;
+ unsigned int sahBlockSize;
+ unsigned int minLeafSize;
+ unsigned int maxLeafSize;
+ float traversalCost;
+ float intersectionCost;
+
+ RTCBVH bvh;
+ struct RTCBuildPrimitive* primitives;
+ size_t primitiveCount;
+ size_t primitiveArrayCapacity;
+
+ RTCCreateNodeFunction createNode;
+ RTCSetNodeChildrenFunction setNodeChildren;
+ RTCSetNodeBoundsFunction setNodeBounds;
+ RTCCreateLeafFunction createLeaf;
+ RTCSplitPrimitiveFunction splitPrimitive;
+ RTCProgressMonitorFunction buildProgress;
+ void* userPtr;
+};
+
+/* Returns the default build settings. */
+RTC_FORCEINLINE struct RTCBuildArguments rtcDefaultBuildArguments()
+{
+ struct RTCBuildArguments args;
+ args.byteSize = sizeof(args);
+ args.buildQuality = RTC_BUILD_QUALITY_MEDIUM;
+ args.buildFlags = RTC_BUILD_FLAG_NONE;
+ args.maxBranchingFactor = 2;
+ args.maxDepth = 32;
+ args.sahBlockSize = 1;
+ args.minLeafSize = 1;
+ args.maxLeafSize = RTC_BUILD_MAX_PRIMITIVES_PER_LEAF;
+ args.traversalCost = 1.0f;
+ args.intersectionCost = 1.0f;
+ args.bvh = NULL;
+ args.primitives = NULL;
+ args.primitiveCount = 0;
+ args.primitiveArrayCapacity = 0;
+ args.createNode = NULL;
+ args.setNodeChildren = NULL;
+ args.setNodeBounds = NULL;
+ args.createLeaf = NULL;
+ args.splitPrimitive = NULL;
+ args.buildProgress = NULL;
+ args.userPtr = NULL;
+ return args;
+}
+
+/* Creates a new BVH. */
+RTC_API RTCBVH rtcNewBVH(RTCDevice device);
+
+/* Builds a BVH. */
+RTC_API void* rtcBuildBVH(const struct RTCBuildArguments* args);
+
+/* Allocates memory using the thread local allocator. */
+RTC_API void* rtcThreadLocalAlloc(RTCThreadLocalAllocator allocator, size_t bytes, size_t align);
+
+/* Retains the BVH (increments reference count). */
+RTC_API void rtcRetainBVH(RTCBVH bvh);
+
+/* Releases the BVH (decrements reference count). */
+RTC_API void rtcReleaseBVH(RTCBVH bvh);
+
+RTC_NAMESPACE_END
+
Added: trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_common.h
===================================================================
--- trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_common.h (rev 0)
+++ trunk/lib/linux_centos7_x86_64/embree/include/embree3/rtcore_common.h 2020-02-17 13:28:38 UTC (rev 62378)
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list