Thomas Barlow Mysteryem
  • Joined on 2023-02-10
Thomas Barlow pushed to fast_foreach_getset_dev at Mysteryem/blender 2023-12-25 04:04:03 +01:00
ac5165ff5b Faster copy when both raw arrays have the same type and are both contiguous
a2d9826656 Add conversion from raw arrays of one type to another
dcc17eac98 Parse input buffers' raw types and let rna_raw_access handle conversions
11ff8eb47c Use bool parsing with PyC_AsArray when the property to foreach_set is PROP_BOOLEAN
3f04472bc6 Set PROP_RAW_BOOLEAN for PROP_BOOLEAN in makesrna.cc#rna_set_raw_property()
Compare 5 commits »
Thomas Barlow commented on pull request blender/blender#115761 2023-12-24 02:34:16 +01:00
RNA: Add missing raw types for DNA types

I think it may be better to revert the change to bool parsing here because there is the py_capi_utils.h#PyC_AsArray() function, which is a good candidate for replacing the conversion from Python sequence to array here, and its bool parsing matches the existing int(PyLong_AsLong(item)) != 0 rather than using #PyC_Long_AsBool(). Reverting this change to bool parsing should make any future transition to using #PyC_AsArray() easier.

Thomas Barlow created branch fix_missing_raw_types_pr_use_PyC_AsArray in Mysteryem/blender 2023-12-24 02:08:49 +01:00
3e7a924e99 Use PyC_AsArray in foreach_set
Thomas Barlow commented on pull request blender/blender#116015 2023-12-23 18:08:49 +01:00
RNA: Speed up raw array access when the property is stored contiguously

Might there be concerns of integer overflow when doing size * out.len? Both are int, so I guess passing size_t(size) * out.len to memcpy or declaring size_t size; instead of int size; would be better.

Thomas Barlow created branch fbx_speed_up_shape_key_access in Mysteryem/blender-addons 2023-12-23 06:18:15 +01:00
Thomas Barlow pushed to fbx_speed_up_shape_key_access at Mysteryem/blender-addons 2023-12-23 06:18:15 +01:00
44b5d8877e Speed up shape key foreach_get/set access using pointers
63da8ac3f9 Fix #105075: Rigify fails to upgrade metarigs with unnamed layers.
d50d3f2734 Fix #104941: Node Wrangler cannot use both bump and normal
9f6d4b718a Fix #100895: Node Wrangler not working properly inside Groups
0ff7516e8c Cleanup: Node Wrangler: preview_node operator
Compare 10 commits »
Thomas Barlow commented on pull request blender/blender#115761 2023-12-22 17:42:39 +01:00
RNA: Add missing raw types for DNA types

I've updated the PR description to group together the changes based on whether they are functional or for performance, and I've updated and added the functional changes of the last few commits,…

Thomas Barlow commented on pull request blender/blender-addons#105017 2023-12-22 15:30:01 +01:00
FBX IO: Add utility to schedule tasks to run on separate threads

Since this PR does nothing on its own, I'm intending to only merge it when one of the PRs that use it are also approved.

bdb0b2efd5 Test all dimensions of multidimensional arrays
Thomas Barlow created pull request blender/blender#116457 2023-12-22 02:11:20 +01:00
WIP: Fix: foreach_get/set does not work on multidimensional arrays
18a0ca87ef Add tests for multidimensional arrays
33ffa9dff8 Deduplicate TestPropArray
36a6ec3596 Fix: wrong arrays tested in bl_pyapi_prop_array.py#TestPropArray
beea6dab6a Fix: foreach_get/set does not work on multidimensional arrays
3443ded9df Fix: bf_animrig_tests test failure
Compare 10 commits »
Thomas Barlow created branch fix_multidim_prop_array_foreach_getset in Mysteryem/blender 2023-12-22 02:03:32 +01:00
Thomas Barlow pushed to fix_missing_raw_types_pr at Mysteryem/blender 2023-12-22 01:33:52 +01:00
3ddb3d0eb3 Fix additional probable compilation errors on non-Windows
dbe647a997 Remove "b" (signed char) buffers from being compatible with PROP_RAW_CHAR
0bed4aa84d Update foreach_set to use fixed-width integer parsing functions and PyC_Long_AsBool
93169bb632 Add __index__ fallback to existing py_capi_utils functions rather than adding new functions
Compare 4 commits »
Thomas Barlow commented on pull request blender/blender#115761 2023-12-21 12:44:06 +01:00
RNA: Add missing raw types for DNA types

I've had a further think about this and I don't think ulong potentially being 64-bit will be an issue because there is no PROP_RAW_ULONG and code should be using fixed-width types where…

Thomas Barlow commented on pull request blender/blender#115761 2023-12-20 22:09:50 +01:00
RNA: Add missing raw types for DNA types

I didn't know that functional-style casts can only be done with simple type specifiers, and for some reason it does compile on Windows.

Thomas Barlow commented on pull request blender/blender#115761 2023-12-20 21:19:01 +01:00
RNA: Add missing raw types for DNA types

I didn't think that ulong would be guaranteed to fit in a uint32_t since I thought it was usually 64-bit on 64-bit Linux. Similarly for fitting unsigned long long into uint64_t which…

Thomas Barlow commented on pull request blender/blender#115761 2023-12-20 19:05:00 +01:00
RNA: Add missing raw types for DNA types

@ideasman42 @brecht Can I get a review from you both on this please? It looks like Campbell worked a lot on bpy_rna.cc#foreach_getset and py_capi_utils.h and Brecht on `rna_access.cc#rna_raw_ac…

Thomas Barlow closed pull request blender/blender#115506 2023-12-20 18:51:44 +01:00
WIP: Fix #115413: Missing PropertyRNA rawtype set for some DNA types
Thomas Barlow commented on pull request blender/blender#115506 2023-12-20 18:51:43 +01:00
WIP: Fix #115413: Missing PropertyRNA rawtype set for some DNA types

Closing in favour of !115761.