diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-06-27 04:09:30 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-06-27 04:09:30 +0300 |
commit | 62b1d11613ed230710a427ad313205daa1c1167b (patch) | |
tree | 21f497bb01be3ed497b1fb227c8bb1abdb1a7c24 /source | |
parent | e6be5b8a2cdbfb9e62ef6bed83da841846cdfd1e (diff) |
RNA: update_gpu_tag() to force Batch re-generation
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/makesrna/intern/rna_curve_api.c | 8 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_lattice_api.c | 8 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_mesh_api.c | 8 |
3 files changed, 24 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_curve_api.c b/source/blender/makesrna/intern/rna_curve_api.c index 5a123603ed5..4da262daf8d 100644 --- a/source/blender/makesrna/intern/rna_curve_api.c +++ b/source/blender/makesrna/intern/rna_curve_api.c @@ -49,6 +49,12 @@ static void rna_Curve_transform(Curve *cu, float *mat, int shape_keys) DEG_id_tag_update(&cu->id, 0); } + +static void rna_Curve_update_gpu_tag(Curve *cu) +{ + BKE_curve_batch_cache_dirty(cu, BKE_CURVE_BATCH_DIRTY_ALL); +} + #else void RNA_api_curve(StructRNA *srna) @@ -67,6 +73,8 @@ void RNA_api_curve(StructRNA *srna) "has had invalid indices corrected (to default 0)"); parm = RNA_def_boolean(func, "result", 0, "Result", ""); RNA_def_function_return(func, parm); + + RNA_def_function(srna, "update_gpu_tag", "rna_Curve_update_gpu_tag"); } #endif diff --git a/source/blender/makesrna/intern/rna_lattice_api.c b/source/blender/makesrna/intern/rna_lattice_api.c index 4784332db3f..5637f8d9248 100644 --- a/source/blender/makesrna/intern/rna_lattice_api.c +++ b/source/blender/makesrna/intern/rna_lattice_api.c @@ -47,6 +47,12 @@ static void rna_Lattice_transform(Lattice *lt, float *mat, int shape_keys) DEG_id_tag_update(<->id, 0); } + +static void rna_Lattice_update_gpu_tag(Lattice *lt) +{ + BKE_lattice_batch_cache_dirty(lt, BKE_LATTICE_BATCH_DIRTY_ALL); +} + #else void RNA_api_lattice(StructRNA *srna) @@ -59,6 +65,8 @@ void RNA_api_lattice(StructRNA *srna) parm = RNA_def_float_matrix(func, "matrix", 4, 4, NULL, 0.0f, 0.0f, "", "Matrix", 0.0f, 0.0f); RNA_def_parameter_flags(parm, 0, PARM_REQUIRED); RNA_def_boolean(func, "shape_keys", 0, "", "Transform Shape Keys"); + + RNA_def_function(srna, "update_gpu_tag", "rna_Lattice_update_gpu_tag"); } #endif diff --git a/source/blender/makesrna/intern/rna_mesh_api.c b/source/blender/makesrna/intern/rna_mesh_api.c index 5dbb7cb0d29..6886321a498 100644 --- a/source/blender/makesrna/intern/rna_mesh_api.c +++ b/source/blender/makesrna/intern/rna_mesh_api.c @@ -215,6 +215,12 @@ static void rna_Mesh_split_faces(Mesh *mesh, int free_loop_normals) BKE_mesh_split_faces(mesh, free_loop_normals != 0); } +static void rna_Mesh_update_gpu_tag(Mesh *mesh) +{ + BKE_mesh_batch_cache_dirty(mesh, BKE_MESH_BATCH_DIRTY_NOCHECK); +} + + #else void RNA_api_mesh(StructRNA *srna) @@ -305,6 +311,8 @@ void RNA_api_mesh(StructRNA *srna) RNA_def_boolean(func, "calc_tessface", 0, "Calculate Tessellation", "Force recalculation of tessellation faces"); RNA_def_function_flag(func, FUNC_USE_CONTEXT); + RNA_def_function(srna, "update_gpu_tag", "rna_Mesh_update_gpu_tag"); + func = RNA_def_function(srna, "unit_test_compare", "rna_Mesh_unit_test_compare"); RNA_def_pointer(func, "mesh", "Mesh", "", "Mesh to compare to"); /* return value */ |