Introducing QOpenGLShaderProgram::create()
Needed for QOpenGLShaderProgram to be usable with GL_OES_get_program_binary and potentially other extensions. [Changelog][QtGui] The function QOpenGLShaderProgram::create() has been added. It is can be used to force immediate allocation of the program's id. Change-Id: I36b3f45b00e7a439df12c54af7dc06c0ba913587 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
This commit is contained in:
parent
26a5727f75
commit
12a7d23d52
@ -123,7 +123,8 @@ QT_BEGIN_NAMESPACE
|
||||
on the return value from programId(). Then the application should
|
||||
call link(), which will notice that the program has already been
|
||||
specified and linked, allowing other operations to be performed
|
||||
on the shader program.
|
||||
on the shader program. The shader program's id can be explicitly
|
||||
created using the create() function.
|
||||
|
||||
\sa QOpenGLShader
|
||||
*/
|
||||
@ -639,6 +640,26 @@ QOpenGLShaderProgram::~QOpenGLShaderProgram()
|
||||
{
|
||||
}
|
||||
|
||||
/*!
|
||||
Requests the shader program's id to be created immediately. Returns \c true
|
||||
if successful; \c false otherwise.
|
||||
|
||||
This function is primarily useful when combining QOpenGLShaderProgram
|
||||
with other OpenGL functions that operate directly on the shader
|
||||
program id, like \c {GL_OES_get_program_binary}.
|
||||
|
||||
When the shader program is used normally, the shader program's id will
|
||||
be created on demand.
|
||||
|
||||
\sa programId()
|
||||
|
||||
\since 5.3
|
||||
*/
|
||||
bool QOpenGLShaderProgram::create()
|
||||
{
|
||||
return init();
|
||||
}
|
||||
|
||||
bool QOpenGLShaderProgram::init()
|
||||
{
|
||||
Q_D(QOpenGLShaderProgram);
|
||||
|
@ -130,6 +130,8 @@ public:
|
||||
bool bind();
|
||||
void release();
|
||||
|
||||
bool create();
|
||||
|
||||
GLuint programId() const;
|
||||
|
||||
int maxGeometryOutputVertices() const;
|
||||
|
Loading…
Reference in New Issue
Block a user