132576ebb1
gpu.types.Buffer: fill buffer interface with just what is requested
...
Use the `flags` parameter to avoid unnecessary allocations.
2022-04-12 22:34:52 -03:00
cd4a9c488f
Fix possible pointer being freed without being allocated in pygpu module
...
The `clear` method can be called before dealloc, which can
mislead buffer ownership.
2022-04-12 20:52:50 -03:00
07cacb6d14
Fix crash when creating a 'gpu.types.Buffer'
...
Buffer creation may crash when passed a PyBuffer with no `shape` defined.
(Which is common for strucs).
2022-04-11 16:59:18 -03:00
c434782e3a
File headers: SPDX License migration
...
Use a shorter/simpler license convention, stops the header taking so
much space.
Follow the SPDX license specification: https://spdx.org/licenses
- C/C++/objc/objc++
- Python
- Shell Scripts
- CMake, GNUmakefile
While most of the source tree has been included
- `./extern/` was left out.
- `./intern/cycles` & `./intern/atomic` are also excluded because they
use different header conventions.
doc/license/SPDX-license-identifiers.txt has been added to list SPDX all
used identifiers.
See P2788 for the script that automated these edits.
Reviewed By: brecht, mont29, sergey
Ref D14069
2022-02-11 09:14:36 +11:00
42a6b2fd06
Cleanup: move public doc-strings into headers for 'python'
2021-12-02 22:53:44 +11:00
a131e3bec7
Fix GPU Buffer not allowing uint values greater than one byte
...
Error in format passed in `PyArg_Parse`
2021-09-08 20:28:00 -03:00
869b84452a
Cleanup: compiler warnings
2021-08-17 14:42:12 +10:00
b5117660da
PyAPI: GPU Buffer: Buffer protocol support
...
The code was commented due to lack of testing and short release deadline.
2021-08-16 13:57:25 -03:00
c3a400b73f
Cleanup: use single back-tick quoting in comments
...
While doxygen supports both, conform to our style guide.
Note that single back-tick's are already used in a majority of comments.
2021-07-20 22:58:14 +10:00
f1e4903854
Cleanup: full sentences in comments, improve comment formatting
2021-06-26 21:50:48 +10:00
48c5129d1f
Fix errors in Buffer.dimensions setter
...
- Error accessing the length from a sequence.
- Error comparing a boolean to -1.
Issues introduced in 19360c2c1c
2021-04-22 12:34:26 +10:00
19360c2c1c
Python GPU Buffer: Add a 'setter' to Buffer.dimensions
...
The attribute `Buffer.dimensions` does not need to be readonly.
2021-04-21 17:07:11 -03:00
b71b1ae384
Python GPU: Improve the Python GPU API documentation
...
This fixes some errors of continuity and consistency of formatting on
https://docs.blender.org/api/current/gpu.html
This also details the description of some parameters.
Differential Revision: https://developer.blender.org/D10531
2021-03-16 12:48:39 -03:00
a40ccde405
Fix logic for calling PyObject_GC_UnTrack
...
All tracked objects need a matching un-track,
also remove redundant Py_XDECREF call.
2021-03-04 15:18:10 +11:00
73f4dfa3c5
Cleanup: Clang tidy else after return
2021-02-18 13:58:27 -06:00
e79916eb47
Cleanup: order shape_len after shape argument
...
This matches nearly all other argument ordering in Blender,
including Python mathutils API.
2021-02-19 02:19:53 +11:00
10a54bbd06
Cleanup: spelling, correct doc-string arguments
2021-02-19 02:19:53 +11:00
89c79c3ed8
Cleanup: Abbreviate enums with 'UNSIGNED_' in the name
2021-02-17 12:38:21 -03:00
4430e8a008
Python: gpu module: add new submodules and types
...
This commit extends the gpu python API with:
```
gpu.types.Buffer #"__init__", "to_list"
gpu.types.GPUTexture #"__init__", "clear", "read", "format"
gpu.types.GPUFrameBuffer #"__init__", "bind", "clear", "is_bound", "viewport", ("__enter__", "__exit__" with "GPUFrameBufferStackContext")
gpu.types.GPUUniformBuf #"__init__", "update"
gpu.state #"blend_set", "blend_get", "depth_test_set", "depth_test_get", "depth_mask_set", "depth_mask_get", "viewport_set", "viewport_get", "line_width_set", "line_width_get", "point_size_set", "color_mask_set", "face_culling_set", "front_facing_set", "program_point_size_set"
```
Add these methods to existing objects:
```
gpu.types.GPUShader #"uniform_sample", "uniform_buffer"
```
Maniphest Tasks: T80481
Differential Revision: https://developer.blender.org/D8826
2021-02-17 12:27:19 -03:00