diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2022-05-24 04:37:30 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2022-05-24 04:37:30 +0300 |
commit | 5744e7d24783077e7acfcd8d56d78af51c33a2ff (patch) | |
tree | 9a431e69f19522abb39841f2186410c22396b773 /source/blender/python | |
parent | d55e1caa75c97ad6f77f17202ca6a7fa0623b853 (diff) |
Fix GPUIndexBuf not working in python
Since rBb47c5505aa37, Batchs containing GPUIndexBuf initialized via
a PyObject with buffer protocol no longer work.
This was because of an unsafe optimization in the GPUIndexBuf module
for Python.
So remove this micro-optimization.
Diffstat (limited to 'source/blender/python')
-rw-r--r-- | source/blender/python/gpu/gpu_py_element.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/source/blender/python/gpu/gpu_py_element.c b/source/blender/python/gpu/gpu_py_element.c index 04975fcef96..616e7da6e9f 100644 --- a/source/blender/python/gpu/gpu_py_element.c +++ b/source/blender/python/gpu/gpu_py_element.c @@ -91,15 +91,11 @@ static PyObject *pygpu_IndexBuf__tp_new(PyTypeObject *UNUSED(type), PyObject *ar /* Use `INT_MAX` instead of the actual number of vertices. */ GPU_indexbuf_init(&builder, prim_type.value_found, index_len, INT_MAX); -#if 0 uint *buf = pybuffer.buf; for (uint i = index_len; i--; buf++) { GPU_indexbuf_add_generic_vert(&builder, *buf); } -#else - memcpy(builder.data, pybuffer.buf, index_len * sizeof(*builder.data)); - builder.index_len = index_len; -#endif + PyBuffer_Release(&pybuffer); } else { |