1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
'''OpenGL extension EXT.protected_textures
This module customises the behaviour of the
OpenGL.raw.GLES2.EXT.protected_textures to provide a more
Python-friendly API
Overview (from the spec)
This extension requires another extension like EGL_EXT_protected_content to
have created a protected context. A protected context enables the
driver to put the GPU into a protected mode where it is able to operate on
protected surfaces.
This extension enables allocating standard GL textures as protected
surfaces. Previously these textures would have had to have been created as
special EGL surfaces. This allows use-cases such as depth, stencil, or
mipmapped textures to be supported as destinations for rendering within
a protected context.
An explanation of undefined behavior in this extension: Several places
in this extension mention undefined behavior can result, which can
include program termination. The reason for this is because one way
to handle protected content is by using a protected virtual to physical
memory translation layer. With this sort of solution a system may generate
read or write faults when a non-protected context tries to access the
buffer. Depending on the system these faults might be ignored or they might
cause process termination. This undefined behavior should not include
actually allowing copying any protected content to a non-protected surface.
This extension does not guarantee that the implementation abides by a
system's digital rights management requirements. It must be verified beyond
the existence of this extension that the implementation of this extension is
trustworthy according to the requirements of a content protection system.
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/EXT/protected_textures.txt
'''
from OpenGL import platform, constant, arrays
from OpenGL import extensions, wrapper
import ctypes
from OpenGL.raw.GLES2 import _types, _glgets
from OpenGL.raw.GLES2.EXT.protected_textures import *
from OpenGL.raw.GLES2.EXT.protected_textures import _EXTENSION_NAME
def glInitProtectedTexturesEXT():
'''Return boolean indicating whether this extension is available'''
from OpenGL import extensions
return extensions.hasGLExtension( _EXTENSION_NAME )
### END AUTOGENERATED SECTION
|