Last nzsl version update

This commit is contained in:
SirLynix
2022-06-07 20:18:16 +02:00
parent 510ef8c41e
commit c7b6d83bbc
16 changed files with 38 additions and 20 deletions

View File

@@ -160,6 +160,7 @@ typedef void (GL_APIENTRYP PFNGLSPECIALIZESHADERPROC) (GLuint shader, const GLch
cb(glUniform3iv, PFNGLUNIFORM3IVPROC) \
cb(glUniform4fv, PFNGLUNIFORM4FVPROC) \
cb(glUniform4iv, PFNGLUNIFORM4IVPROC) \
cb(glUniformBlockBinding, PFNGLUNIFORMBLOCKBINDINGPROC) \
cb(glUniformMatrix4fv, PFNGLUNIFORMMATRIX4FVPROC) \
cb(glUnmapBuffer, PFNGLUNMAPBUFFERPROC) \
cb(glUseProgram, PFNGLUSEPROGRAMPROC) \

View File

@@ -44,6 +44,7 @@ namespace Nz::GL
inline void Link();
inline void Uniform(GLint uniformLocation, float value) const;
inline void UniformBlockBinding(GLuint uniformBlockIndex, GLuint uniformBlockBinding) const;
Program& operator=(const Program&) = delete;
Program& operator=(Program&&) noexcept = default;

View File

@@ -203,6 +203,14 @@ namespace Nz::GL
context.glUniform1f(uniformLocation, value);
}
inline void Program::UniformBlockBinding(GLuint uniformBlockIndex, GLuint uniformBlockBinding) const
{
assert(m_objectId);
const Context& context = EnsureDeviceContext();
context.glUniformBlockBinding(m_objectId, uniformBlockIndex, uniformBlockBinding);
}
inline GLuint Program::CreateHelper(OpenGLDevice& /*device*/, const Context& context)
{
return context.glCreateProgram();