Download lib/python3.9/site-packages/OpenGL/GL/NV/gpu_program5_mem_extended.py from camenduru/slahmr-test: direct link, hf CLI and curl.
- Browser
- Download file 2.5 kB
-
https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/OpenGL/GL/NV/gpu_program5_mem_extended.py
- Command line
-
hf download hf://camenduru/slahmr-test/lib/python3.9/site-packages/OpenGL/GL/NV/gpu_program5_mem_extended.py
-
curl -L -o gpu_program5_mem_extended.py https://huggingface.co/camenduru/slahmr-test/resolve/main/lib/python3.9/site-packages/OpenGL/GL/NV/gpu_program5_mem_extended.py
2.5 kB
| '''OpenGL extension NV.gpu_program5_mem_extended | |
| This module customises the behaviour of the | |
| OpenGL.raw.GL.NV.gpu_program5_mem_extended to provide a more | |
| Python-friendly API | |
| Overview (from the spec) | |
| This extension provides a new set of storage modifiers that can be used by | |
| NV_gpu_program5 assembly program instructions loading from or storing to | |
| various forms of GPU memory. In particular, we provide support for loads | |
| and stores using the storage modifiers: | |
| .F16X2 .F16X4 .F16 (for 16-bit floating-point scalars/vectors) | |
| .S8X2 .S8X4 (for 8-bit signed integer vectors) | |
| .S16X2 .S16X4 (for 16-bit signed integer vectors) | |
| .U8X2 .U8X4 (for 8-bit unsigned integer vectors) | |
| .U16X2 .U16X4 (for 16-bit unsigned integer vectors) | |
| These modifiers are allowed for the following load/store instructions: | |
| LDC Load from constant buffer | |
| LOAD Global load | |
| STORE Global store | |
| LOADIM Image load (via EXT_shader_image_load_store) | |
| STOREIM Image store (via EXT_shader_image_load_store) | |
| LDB Load from storage buffer (via | |
| NV_shader_storage_buffer_object) | |
| STB Store to storage buffer (via | |
| NV_shader_storage_buffer_object) | |
| LDS Load from shared memory (via NV_compute_program5) | |
| STS Store to shared memory (via NV_compute_program5) | |
| For assembly programs prior to this extension, it was necessary to access | |
| memory using packed types and then unpack with additional shader | |
| instructions. | |
| Similar capabilities have already been provided in the OpenGL Shading | |
| Language (GLSL) via the NV_gpu_shader5 extension, using the extended data | |
| types provided there (e.g., "float16_t", "u8vec4", "s16vec2"). | |
| The official definition of this extension is available here: | |
| http://www.opengl.org/registry/specs/NV/gpu_program5_mem_extended.txt | |
| ''' | |
| from OpenGL import platform, constant, arrays | |
| from OpenGL import extensions, wrapper | |
| import ctypes | |
| from OpenGL.raw.GL import _types, _glgets | |
| from OpenGL.raw.GL.NV.gpu_program5_mem_extended import * | |
| from OpenGL.raw.GL.NV.gpu_program5_mem_extended import _EXTENSION_NAME | |
| def glInitGpuProgram5MemExtendedNV(): | |
| '''Return boolean indicating whether this extension is available''' | |
| from OpenGL import extensions | |
| return extensions.hasGLExtension( _EXTENSION_NAME ) | |
| ### END AUTOGENERATED SECTION |