mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 18:31:55 -04:00
Fix build errors for mainstream OpenGL
This commit is contained in:
parent
dc6ccc27a1
commit
ebf6291663
@ -897,7 +897,7 @@ reset() {
|
|||||||
get_extension_func(GLPREFIX_QUOTED, "DeleteShader");
|
get_extension_func(GLPREFIX_QUOTED, "DeleteShader");
|
||||||
_glDetachShader = (PFNGLDETACHSHADERPROC)
|
_glDetachShader = (PFNGLDETACHSHADERPROC)
|
||||||
get_extension_func(GLPREFIX_QUOTED, "DetachShader");
|
get_extension_func(GLPREFIX_QUOTED, "DetachShader");
|
||||||
_glDisableVertexAttribArray (PFNGLDISABLEVERTEXATTRIBARRAYPROC)
|
_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC)
|
||||||
get_extension_func(GLPREFIX_QUOTED, "DisableVertexAttribArray");
|
get_extension_func(GLPREFIX_QUOTED, "DisableVertexAttribArray");
|
||||||
_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)
|
_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)
|
||||||
get_extension_func(GLPREFIX_QUOTED, "EnableVertexAttribArray");
|
get_extension_func(GLPREFIX_QUOTED, "EnableVertexAttribArray");
|
||||||
|
@ -308,7 +308,7 @@ CLP(ShaderContext)::
|
|||||||
// vertex program handles or Cg contexts).
|
// vertex program handles or Cg contexts).
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
void CLP(ShaderContext)::
|
void CLP(ShaderContext)::
|
||||||
release_resources(const GSG *gsg) {
|
release_resources(GSG *gsg) {
|
||||||
#ifdef HAVE_CG
|
#ifdef HAVE_CG
|
||||||
if (_cg_context) {
|
if (_cg_context) {
|
||||||
cgDestroyContext(_cg_context);
|
cgDestroyContext(_cg_context);
|
||||||
@ -320,7 +320,7 @@ release_resources(const GSG *gsg) {
|
|||||||
}
|
}
|
||||||
if (gsg) {
|
if (gsg) {
|
||||||
gsg->report_my_gl_errors();
|
gsg->report_my_gl_errors();
|
||||||
} if (glGetError() != GL_NO_ERROR) {
|
} else if (glGetError() != GL_NO_ERROR) {
|
||||||
GLCAT.error() << "GL error in ShaderContext destructor\n";
|
GLCAT.error() << "GL error in ShaderContext destructor\n";
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -347,6 +347,8 @@ release_resources(const GSG *gsg) {
|
|||||||
gsg->_glDeleteProgram(_glsl_program);
|
gsg->_glDeleteProgram(_glsl_program);
|
||||||
_glsl_program = 0;
|
_glsl_program = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gsg->report_my_gl_errors();
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -507,7 +509,7 @@ disable_shader_vertex_arrays(GSG *gsg) {
|
|||||||
|
|
||||||
if (_shader->get_language() == Shader::SL_GLSL) {
|
if (_shader->get_language() == Shader::SL_GLSL) {
|
||||||
for (int i=0; i<(int)_shader->_var_spec.size(); i++) {
|
for (int i=0; i<(int)_shader->_var_spec.size(); i++) {
|
||||||
glDisableVertexAttribArray(i);
|
gsg->_glDisableVertexAttribArray(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef HAVE_CG
|
#ifdef HAVE_CG
|
||||||
@ -588,8 +590,8 @@ update_shader_vertex_arrays(CLP(ShaderContext) *prev, GSG *gsg,
|
|||||||
#ifndef OPENGLES_2
|
#ifndef OPENGLES_2
|
||||||
glEnableClientState(GL_VERTEX_ARRAY);
|
glEnableClientState(GL_VERTEX_ARRAY);
|
||||||
#endif
|
#endif
|
||||||
glEnableVertexAttribArray(i);
|
gsg->_glEnableVertexAttribArray(i);
|
||||||
glVertexAttribPointer(i, num_values, gsg->get_numeric_type(numeric_type),
|
gsg->_glVertexAttribPointer(i, num_values, gsg->get_numeric_type(numeric_type),
|
||||||
GL_FALSE, stride, client_pointer + start);
|
GL_FALSE, stride, client_pointer + start);
|
||||||
#ifndef OPENGLES_2
|
#ifndef OPENGLES_2
|
||||||
glDisableClientState(GL_VERTEX_ARRAY);
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
@ -606,6 +608,7 @@ update_shader_vertex_arrays(CLP(ShaderContext) *prev, GSG *gsg,
|
|||||||
}
|
}
|
||||||
#ifdef HAVE_CG
|
#ifdef HAVE_CG
|
||||||
else if (_shader->get_language() == Shader::SL_Cg) {
|
else if (_shader->get_language() == Shader::SL_Cg) {
|
||||||
|
CGparameter p = _cg_parameter_map[_shader->_var_spec[i]._id._seqno];
|
||||||
cgGLDisableClientState(p);
|
cgGLDisableClientState(p);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -72,14 +72,14 @@ private:
|
|||||||
int _stage_offset;
|
int _stage_offset;
|
||||||
// Avoid using this! It merely exists so the
|
// Avoid using this! It merely exists so the
|
||||||
// destructor has access to the extension functions.
|
// destructor has access to the extension functions.
|
||||||
WCPT(GSG) _last_gsg;
|
WPT(GSG) _last_gsg;
|
||||||
|
|
||||||
void glsl_report_shader_errors(GSG *gsg, unsigned int shader);
|
void glsl_report_shader_errors(GSG *gsg, unsigned int shader);
|
||||||
void glsl_report_program_errors(GSG *gsg, unsigned int program);
|
void glsl_report_program_errors(GSG *gsg, unsigned int program);
|
||||||
unsigned int glsl_compile_entry_point(GSG *gsg, Shader::ShaderType type);
|
unsigned int glsl_compile_entry_point(GSG *gsg, Shader::ShaderType type);
|
||||||
bool glsl_compile_shader(GSG *gsg);
|
bool glsl_compile_shader(GSG *gsg);
|
||||||
|
|
||||||
void release_resources(const GSG *gsg);
|
void release_resources(GSG *gsg);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static TypeHandle get_class_type() {
|
static TypeHandle get_class_type() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user