Blender V4.3
gpu_py_types.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
12#include <Python.h>
13
14#include "gpu_py_types.hh" /* own include */
15
16/* -------------------------------------------------------------------- */
20static PyModuleDef pygpu_types_module_def = {
21 /*m_base*/ PyModuleDef_HEAD_INIT,
22 /*m_name*/ "gpu.types",
23 /*m_doc*/ nullptr,
24 /*m_size*/ 0,
25 /*m_methods*/ nullptr,
26 /*m_slots*/ nullptr,
27 /*m_traverse*/ nullptr,
28 /*m_clear*/ nullptr,
29 /*m_free*/ nullptr,
30};
31
33{
34 PyObject *submodule;
35
36 submodule = PyModule_Create(&pygpu_types_module_def);
37
38 if (PyType_Ready(&BPyGPU_BufferType) < 0) {
39 return nullptr;
40 }
41 if (PyType_Ready(&BPyGPUVertFormat_Type) < 0) {
42 return nullptr;
43 }
44 if (PyType_Ready(&BPyGPUVertBuf_Type) < 0) {
45 return nullptr;
46 }
47 if (PyType_Ready(&BPyGPUIndexBuf_Type) < 0) {
48 return nullptr;
49 }
50 if (PyType_Ready(&BPyGPUBatch_Type) < 0) {
51 return nullptr;
52 }
53 if (PyType_Ready(&BPyGPUOffScreen_Type) < 0) {
54 return nullptr;
55 }
56 if (PyType_Ready(&BPyGPUShader_Type) < 0) {
57 return nullptr;
58 }
59 if (PyType_Ready(&BPyGPUTexture_Type) < 0) {
60 return nullptr;
61 }
62 if (PyType_Ready(&BPyGPUFrameBuffer_Type) < 0) {
63 return nullptr;
64 }
65 if (PyType_Ready(&BPyGPUUniformBuf_Type) < 0) {
66 return nullptr;
67 }
68 if (PyType_Ready(&BPyGPUShaderCreateInfo_Type) < 0) {
69 return nullptr;
70 }
71 if (PyType_Ready(&BPyGPUStageInterfaceInfo_Type) < 0) {
72 return nullptr;
73 }
74
75 PyModule_AddType(submodule, &BPyGPU_BufferType);
76 PyModule_AddType(submodule, &BPyGPUVertFormat_Type);
77 PyModule_AddType(submodule, &BPyGPUVertBuf_Type);
78 PyModule_AddType(submodule, &BPyGPUIndexBuf_Type);
79 PyModule_AddType(submodule, &BPyGPUBatch_Type);
80 PyModule_AddType(submodule, &BPyGPUOffScreen_Type);
81 PyModule_AddType(submodule, &BPyGPUShader_Type);
82 PyModule_AddType(submodule, &BPyGPUTexture_Type);
83 PyModule_AddType(submodule, &BPyGPUFrameBuffer_Type);
84 PyModule_AddType(submodule, &BPyGPUUniformBuf_Type);
85 PyModule_AddType(submodule, &BPyGPUShaderCreateInfo_Type);
86 PyModule_AddType(submodule, &BPyGPUStageInterfaceInfo_Type);
87
88 return submodule;
89}
90
PyTypeObject BPyGPUBatch_Type
PyTypeObject BPyGPU_BufferType
PyTypeObject BPyGPUIndexBuf_Type
PyTypeObject BPyGPUFrameBuffer_Type
PyTypeObject BPyGPUOffScreen_Type
PyTypeObject BPyGPUShader_Type
PyTypeObject BPyGPUStageInterfaceInfo_Type
PyTypeObject BPyGPUShaderCreateInfo_Type
PyTypeObject BPyGPUTexture_Type
PyObject * bpygpu_types_init()
static PyModuleDef pygpu_types_module_def
PyTypeObject BPyGPUUniformBuf_Type
PyTypeObject BPyGPUVertBuf_Type
PyTypeObject BPyGPUVertFormat_Type