mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 17:09:16 +02:00
* patch by Michalis Kamburelis for 2 small issues in glext unit, to fix Load_GL_version_3_3 and Load_GL_version_4_0, resolves #19955
git-svn-id: trunk@18208 -
This commit is contained in:
parent
c45222cd17
commit
145f0959d6
@ -4215,7 +4215,7 @@ var
|
|||||||
glGetSamplerParameteriv: procedure(sampler: GLuint; pname: GLenum; params: PGLint); extdecl;
|
glGetSamplerParameteriv: procedure(sampler: GLuint; pname: GLenum; params: PGLint); extdecl;
|
||||||
glGetSamplerParameterIiv: procedure(sampler: GLuint; pname: GLenum; params: PGLint); extdecl;
|
glGetSamplerParameterIiv: procedure(sampler: GLuint; pname: GLenum; params: PGLint); extdecl;
|
||||||
glGetSamplerParameterfv: procedure(sampler: GLuint; pname: GLenum; params: PGLfloat); extdecl;
|
glGetSamplerParameterfv: procedure(sampler: GLuint; pname: GLenum; params: PGLfloat); extdecl;
|
||||||
glGetSamplerParameterIfv: procedure(sampler: GLuint; pname: GLenum; params: PGLfloat); extdecl;
|
glGetSamplerParameterIuiv: procedure(sampler: GLuint; pname: GLenum; params: PGLuint); extdecl;
|
||||||
|
|
||||||
function Load_GL_ARB_sampler_objects(): Boolean;
|
function Load_GL_ARB_sampler_objects(): Boolean;
|
||||||
|
|
||||||
@ -4310,6 +4310,16 @@ var
|
|||||||
glUniformMatrix4x2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); extdecl;
|
glUniformMatrix4x2dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); extdecl;
|
||||||
glUniformMatrix4x3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); extdecl;
|
glUniformMatrix4x3dv: procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); extdecl;
|
||||||
glGetUniformdv: procedure(_program: GLuint; location: GLint; params: PGLdouble); extdecl;
|
glGetUniformdv: procedure(_program: GLuint; location: GLint; params: PGLdouble); extdecl;
|
||||||
|
|
||||||
|
{ All of the following ProgramUniform* functions are supported if and only
|
||||||
|
if EXT_direct_state_access is supported.
|
||||||
|
(See http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt)
|
||||||
|
|
||||||
|
Load_GL_ARB_gpu_shader_fp64 will try to load them, but their presence/absence
|
||||||
|
will have no effect on the result of Load_GL_ARB_gpu_shader_fp64 and
|
||||||
|
Load_GL_VERSION_4_0 functions. (Because they are not mandatory parts of
|
||||||
|
the extension or OpenGL 4.0 core spec.) }
|
||||||
|
|
||||||
glProgramUniform1dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble); extdecl;
|
glProgramUniform1dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble); extdecl;
|
||||||
glProgramUniform2dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble); extdecl;
|
glProgramUniform2dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble); extdecl;
|
||||||
glProgramUniform3dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); extdecl;
|
glProgramUniform3dEXT: procedure(_program: GLuint; location: GLint; x: GLdouble; y: GLdouble; z: GLdouble); extdecl;
|
||||||
@ -10093,8 +10103,8 @@ begin
|
|||||||
if not Assigned(glGetSamplerParameterIiv) then Exit;
|
if not Assigned(glGetSamplerParameterIiv) then Exit;
|
||||||
glGetSamplerParameterfv := wglGetProcAddress('glGetSamplerParameterfv');
|
glGetSamplerParameterfv := wglGetProcAddress('glGetSamplerParameterfv');
|
||||||
if not Assigned(glGetSamplerParameterfv) then Exit;
|
if not Assigned(glGetSamplerParameterfv) then Exit;
|
||||||
glGetSamplerParameterIfv := wglGetProcAddress('glGetSamplerParameterIfv');
|
glGetSamplerParameterIuiv := wglGetProcAddress('glGetSamplerParameterIuiv');
|
||||||
if not Assigned(glGetSamplerParameterIfv) then Exit;
|
if not Assigned(glGetSamplerParameterIuiv) then Exit;
|
||||||
Result := True;
|
Result := True;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -10269,40 +10279,47 @@ begin
|
|||||||
if not Assigned(glUniformMatrix4x3dv) then Exit;
|
if not Assigned(glUniformMatrix4x3dv) then Exit;
|
||||||
glGetUniformdv := wglGetProcAddress('glGetUniformdv');
|
glGetUniformdv := wglGetProcAddress('glGetUniformdv');
|
||||||
if not Assigned(glGetUniformdv) then Exit;
|
if not Assigned(glGetUniformdv) then Exit;
|
||||||
|
|
||||||
|
{ Ignore presence/absence of functions below.
|
||||||
|
See their special definition in
|
||||||
|
http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt:
|
||||||
|
"All of the following ProgramUniform* functions are supported if and only
|
||||||
|
if EXT_direct_state_access is supported." }
|
||||||
|
|
||||||
glProgramUniform1dEXT := wglGetProcAddress('glProgramUniform1dEXT');
|
glProgramUniform1dEXT := wglGetProcAddress('glProgramUniform1dEXT');
|
||||||
if not Assigned(glProgramUniform1dEXT) then Exit;
|
// if not Assigned(glProgramUniform1dEXT) then Exit;
|
||||||
glProgramUniform2dEXT := wglGetProcAddress('glProgramUniform2dEXT');
|
glProgramUniform2dEXT := wglGetProcAddress('glProgramUniform2dEXT');
|
||||||
if not Assigned(glProgramUniform2dEXT) then Exit;
|
// if not Assigned(glProgramUniform2dEXT) then Exit;
|
||||||
glProgramUniform3dEXT := wglGetProcAddress('glProgramUniform3dEXT');
|
glProgramUniform3dEXT := wglGetProcAddress('glProgramUniform3dEXT');
|
||||||
if not Assigned(glProgramUniform3dEXT) then Exit;
|
// if not Assigned(glProgramUniform3dEXT) then Exit;
|
||||||
glProgramUniform4dEXT := wglGetProcAddress('glProgramUniform4dEXT');
|
glProgramUniform4dEXT := wglGetProcAddress('glProgramUniform4dEXT');
|
||||||
if not Assigned(glProgramUniform4dEXT) then Exit;
|
// if not Assigned(glProgramUniform4dEXT) then Exit;
|
||||||
glProgramUniform1dvEXT := wglGetProcAddress('glProgramUniform1dvEXT');
|
glProgramUniform1dvEXT := wglGetProcAddress('glProgramUniform1dvEXT');
|
||||||
if not Assigned(glProgramUniform1dvEXT) then Exit;
|
// if not Assigned(glProgramUniform1dvEXT) then Exit;
|
||||||
glProgramUniform2dvEXT := wglGetProcAddress('glProgramUniform2dvEXT');
|
glProgramUniform2dvEXT := wglGetProcAddress('glProgramUniform2dvEXT');
|
||||||
if not Assigned(glProgramUniform2dvEXT) then Exit;
|
// if not Assigned(glProgramUniform2dvEXT) then Exit;
|
||||||
glProgramUniform3dvEXT := wglGetProcAddress('glProgramUniform3dvEXT');
|
glProgramUniform3dvEXT := wglGetProcAddress('glProgramUniform3dvEXT');
|
||||||
if not Assigned(glProgramUniform3dvEXT) then Exit;
|
// if not Assigned(glProgramUniform3dvEXT) then Exit;
|
||||||
glProgramUniform4dvEXT := wglGetProcAddress('glProgramUniform4dvEXT');
|
glProgramUniform4dvEXT := wglGetProcAddress('glProgramUniform4dvEXT');
|
||||||
if not Assigned(glProgramUniform4dvEXT) then Exit;
|
// if not Assigned(glProgramUniform4dvEXT) then Exit;
|
||||||
glProgramUniformMatrix2dvEXT := wglGetProcAddress('glProgramUniformMatrix2dvEXT');
|
glProgramUniformMatrix2dvEXT := wglGetProcAddress('glProgramUniformMatrix2dvEXT');
|
||||||
if not Assigned(glProgramUniformMatrix2dvEXT) then Exit;
|
// if not Assigned(glProgramUniformMatrix2dvEXT) then Exit;
|
||||||
glProgramUniformMatrix3dvEXT := wglGetProcAddress('glProgramUniformMatrix3dvEXT');
|
glProgramUniformMatrix3dvEXT := wglGetProcAddress('glProgramUniformMatrix3dvEXT');
|
||||||
if not Assigned(glProgramUniformMatrix3dvEXT) then Exit;
|
// if not Assigned(glProgramUniformMatrix3dvEXT) then Exit;
|
||||||
glProgramUniformMatrix4dvEXT := wglGetProcAddress('glProgramUniformMatrix4dvEXT');
|
glProgramUniformMatrix4dvEXT := wglGetProcAddress('glProgramUniformMatrix4dvEXT');
|
||||||
if not Assigned(glProgramUniformMatrix4dvEXT) then Exit;
|
// if not Assigned(glProgramUniformMatrix4dvEXT) then Exit;
|
||||||
glProgramUniformMatrix2x3dvEXT := wglGetProcAddress('glProgramUniformMatrix2x3dvEXT');
|
glProgramUniformMatrix2x3dvEXT := wglGetProcAddress('glProgramUniformMatrix2x3dvEXT');
|
||||||
if not Assigned(glProgramUniformMatrix2x3dvEXT) then Exit;
|
// if not Assigned(glProgramUniformMatrix2x3dvEXT) then Exit;
|
||||||
glProgramUniformMatrix2x4dvEXT := wglGetProcAddress('glProgramUniformMatrix2x4dvEXT');
|
glProgramUniformMatrix2x4dvEXT := wglGetProcAddress('glProgramUniformMatrix2x4dvEXT');
|
||||||
if not Assigned(glProgramUniformMatrix2x4dvEXT) then Exit;
|
// if not Assigned(glProgramUniformMatrix2x4dvEXT) then Exit;
|
||||||
glProgramUniformMatrix3x2dvEXT := wglGetProcAddress('glProgramUniformMatrix3x2dvEXT');
|
glProgramUniformMatrix3x2dvEXT := wglGetProcAddress('glProgramUniformMatrix3x2dvEXT');
|
||||||
if not Assigned(glProgramUniformMatrix3x2dvEXT) then Exit;
|
// if not Assigned(glProgramUniformMatrix3x2dvEXT) then Exit;
|
||||||
glProgramUniformMatrix3x4dvEXT := wglGetProcAddress('glProgramUniformMatrix3x4dvEXT');
|
glProgramUniformMatrix3x4dvEXT := wglGetProcAddress('glProgramUniformMatrix3x4dvEXT');
|
||||||
if not Assigned(glProgramUniformMatrix3x4dvEXT) then Exit;
|
// if not Assigned(glProgramUniformMatrix3x4dvEXT) then Exit;
|
||||||
glProgramUniformMatrix4x2dvEXT := wglGetProcAddress('glProgramUniformMatrix4x2dvEXT');
|
glProgramUniformMatrix4x2dvEXT := wglGetProcAddress('glProgramUniformMatrix4x2dvEXT');
|
||||||
if not Assigned(glProgramUniformMatrix4x2dvEXT) then Exit;
|
// if not Assigned(glProgramUniformMatrix4x2dvEXT) then Exit;
|
||||||
glProgramUniformMatrix4x3dvEXT := wglGetProcAddress('glProgramUniformMatrix4x3dvEXT');
|
glProgramUniformMatrix4x3dvEXT := wglGetProcAddress('glProgramUniformMatrix4x3dvEXT');
|
||||||
if not Assigned(glProgramUniformMatrix4x3dvEXT) then Exit;
|
// if not Assigned(glProgramUniformMatrix4x3dvEXT) then Exit;
|
||||||
Result := True;
|
Result := True;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user