diff options
author | Sebastian Parborg <darkdefende@gmail.com> | 2023-02-03 12:08:24 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-02-17 05:20:36 +0000 |
commit | 6598e6d9c4b5e4474e1c31b0603da99f0cfb5e2d (patch) | |
tree | a71f07955ab217a02f201c1dc33182c83e4dcf44 /media-gfx | |
parent | media-gfx/blender: Cleanup old ebuilds (diff) | |
download | gentoo-6598e6d9c4b5e4474e1c31b0603da99f0cfb5e2d.tar.gz gentoo-6598e6d9c4b5e4474e1c31b0603da99f0cfb5e2d.tar.bz2 gentoo-6598e6d9c4b5e4474e1c31b0603da99f0cfb5e2d.zip |
media-gfx/blender: Fix building 2.93 with openvdb-10
Closes: https://bugs.gentoo.org/892924
Signed-off-by: Sebastian Parborg <darkdefende@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/blender/blender-2.93.13.ebuild | 1 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-2.93.13-openvdb-10.patch | 107 |
2 files changed, 108 insertions, 0 deletions
diff --git a/media-gfx/blender/blender-2.93.13.ebuild b/media-gfx/blender/blender-2.93.13.ebuild index 244f50a0e39f..60c8f2eacc38 100644 --- a/media-gfx/blender/blender-2.93.13.ebuild +++ b/media-gfx/blender/blender-2.93.13.ebuild @@ -126,6 +126,7 @@ BDEPEND=" " PATCHES=( + "${FILESDIR}"/${PN}-2.93.13-openvdb-10.patch "${FILESDIR}"/${PN}-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch "${FILESDIR}"/${PN}-3.0.1-openexr.patch "${FILESDIR}"/${PN}-3.0.1-openimageio-2.3.patch diff --git a/media-gfx/blender/files/blender-2.93.13-openvdb-10.patch b/media-gfx/blender/files/blender-2.93.13-openvdb-10.patch new file mode 100644 index 000000000000..42db25179cdc --- /dev/null +++ b/media-gfx/blender/files/blender-2.93.13-openvdb-10.patch @@ -0,0 +1,107 @@ +--- a/intern/cycles/render/volume.cpp ++++ b/intern/cycles/render/volume.cpp +@@ -259,7 +259,8 @@ void VolumeMeshBuilder::add_grid(openvdb::GridBase::ConstPtr grid, + void VolumeMeshBuilder::add_padding(int pad_size) + { + #ifdef WITH_OPENVDB +- openvdb::tools::dilateVoxels(topology_grid->tree(), pad_size); ++ openvdb::tools::dilateActiveValues( ++ topology_grid->tree(), pad_size, openvdb::tools::NN_FACE, openvdb::tools::IGNORE_TILES); + #else + (void)pad_size; + #endif +diff --git a/source/blender/blenkernel/BKE_volume.h b/source/blender/blenkernel/BKE_volume.h +index 8b42de7303d..068cdf87d16 100644 +--- a/source/blender/blenkernel/BKE_volume.h ++++ b/source/blender/blenkernel/BKE_volume.h +@@ -104,7 +104,6 @@ typedef enum VolumeGridType { + VOLUME_GRID_INT, + VOLUME_GRID_INT64, + VOLUME_GRID_MASK, +- VOLUME_GRID_STRING, + VOLUME_GRID_VECTOR_FLOAT, + VOLUME_GRID_VECTOR_DOUBLE, + VOLUME_GRID_VECTOR_INT, +@@ -218,8 +217,6 @@ auto BKE_volume_grid_type_operation(const VolumeGridType grid_type, OpType &&op) + return op.template operator()<openvdb::Vec3IGrid>(); + case VOLUME_GRID_VECTOR_DOUBLE: + return op.template operator()<openvdb::Vec3dGrid>(); +- case VOLUME_GRID_STRING: +- return op.template operator()<openvdb::StringGrid>(); + case VOLUME_GRID_MASK: + return op.template operator()<openvdb::MaskGrid>(); + case VOLUME_GRID_POINTS: +diff --git a/source/blender/blenkernel/intern/volume.cc b/source/blender/blenkernel/intern/volume.cc +index 39a7725bfa3..a0e2d1a83cd 100644 +--- a/source/blender/blenkernel/intern/volume.cc ++++ b/source/blender/blenkernel/intern/volume.cc +@@ -1345,9 +1345,6 @@ VolumeGridType BKE_volume_grid_type_openvdb(const openvdb::GridBase &grid) + if (grid.isType<openvdb::Vec3dGrid>()) { + return VOLUME_GRID_VECTOR_DOUBLE; + } +- if (grid.isType<openvdb::StringGrid>()) { +- return VOLUME_GRID_STRING; +- } + if (grid.isType<openvdb::MaskGrid>()) { + return VOLUME_GRID_MASK; + } +@@ -1383,7 +1380,6 @@ int BKE_volume_grid_channels(const VolumeGrid *grid) + case VOLUME_GRID_VECTOR_DOUBLE: + case VOLUME_GRID_VECTOR_INT: + return 3; +- case VOLUME_GRID_STRING: + case VOLUME_GRID_POINTS: + case VOLUME_GRID_UNKNOWN: + return 0; +@@ -1624,13 +1620,8 @@ struct CreateGridWithChangedResolutionOp { + + template<typename GridType> typename openvdb::GridBase::Ptr operator()() + { +- if constexpr (std::is_same_v<GridType, openvdb::StringGrid>) { +- return {}; +- } +- else { +- return create_grid_with_changed_resolution(static_cast<const GridType &>(grid), +- resolution_factor); +- } ++ return create_grid_with_changed_resolution(static_cast<const GridType &>(grid), ++ resolution_factor); + } + }; + +diff --git a/source/blender/blenkernel/intern/volume_render.cc b/source/blender/blenkernel/intern/volume_render.cc +index c0a205b5673..7ccf04df941 100644 +--- a/source/blender/blenkernel/intern/volume_render.cc ++++ b/source/blender/blenkernel/intern/volume_render.cc +@@ -77,7 +77,6 @@ static void extract_dense_float_voxels(const VolumeGridType grid_type, + case VOLUME_GRID_VECTOR_INT: + return extract_dense_voxels<openvdb::Vec3IGrid, openvdb::Vec3f>( + grid, bbox, reinterpret_cast<openvdb::Vec3f *>(r_voxels)); +- case VOLUME_GRID_STRING: + case VOLUME_GRID_POINTS: + case VOLUME_GRID_UNKNOWN: + /* Zero channels to copy. */ +diff --git a/source/blender/makesrna/intern/rna_volume.c b/source/blender/makesrna/intern/rna_volume.c +index 3100c1195f4..2854f02a4d4 100644 +--- a/source/blender/makesrna/intern/rna_volume.c ++++ b/source/blender/makesrna/intern/rna_volume.c +@@ -241,7 +241,6 @@ + {VOLUME_GRID_INT, "INT", 0, "Integer", "32-bit integer"}, + {VOLUME_GRID_INT64, "INT64", 0, "Integer 64-bit", "64-bit integer"}, + {VOLUME_GRID_MASK, "MASK", 0, "Mask", "No data, boolean mask of active voxels"}, +- {VOLUME_GRID_STRING, "STRING", 0, "String", "Text string"}, + {VOLUME_GRID_VECTOR_FLOAT, "VECTOR_FLOAT", 0, "Float Vector", "3D float vector"}, + {VOLUME_GRID_VECTOR_DOUBLE, "VECTOR_DOUBLE", 0, "Double Vector", "3D double vector"}, + {VOLUME_GRID_VECTOR_INT, "VECTOR_INT", 0, "Integer Vector", "3D integer vector"}, +diff --git a/source/blender/modifiers/intern/MOD_volume_displace.cc b/source/blender/modifiers/intern/MOD_volume_displace.cc +index af3a502162d..e2d7f445731 100644 +--- a/source/blender/modifiers/intern/MOD_volume_displace.cc ++++ b/source/blender/modifiers/intern/MOD_volume_displace.cc +@@ -201,7 +201,6 @@ + template<typename GridType> void operator()() + { + if constexpr (std::is_same_v<GridType, openvdb::points::PointDataGrid> || +- std::is_same_v<GridType, openvdb::StringGrid> || + std::is_same_v<GridType, openvdb::MaskGrid>) { + /* We don't support displacing these grid types yet. */ + return; |