| // |
| // Copyright (c) 2016 The ANGLE Project Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| |
| // queryutils.h: Utilities for querying values from GL objects |
| |
| #ifndef LIBANGLE_QUERYUTILS_H_ |
| #define LIBANGLE_QUERYUTILS_H_ |
| |
| #include "angle_gl.h" |
| #include "common/angleutils.h" |
| |
| namespace gl |
| { |
| class Buffer; |
| class Framebuffer; |
| class Program; |
| class Renderbuffer; |
| class Sampler; |
| class Shader; |
| class Texture; |
| struct UniformBlock; |
| struct VertexAttribute; |
| struct VertexAttribCurrentValueData; |
| |
| void QueryFramebufferAttachmentParameteriv(const Framebuffer *framebuffer, |
| GLenum attachment, |
| GLenum pname, |
| GLint *params); |
| void QueryBufferParameteriv(const Buffer *buffer, GLenum pname, GLint *params); |
| void QueryProgramiv(const Program *program, GLenum pname, GLint *params); |
| void QueryRenderbufferiv(const Renderbuffer *renderbuffer, GLenum pname, GLint *params); |
| void QueryShaderiv(const Shader *shader, GLenum pname, GLint *params); |
| void QueryTexParameterfv(const Texture *texture, GLenum pname, GLfloat *params); |
| void QueryTexParameteriv(const Texture *texture, GLenum pname, GLint *params); |
| void QuerySamplerParameterfv(const Sampler *sampler, GLenum pname, GLfloat *params); |
| void QuerySamplerParameteriv(const Sampler *sampler, GLenum pname, GLint *params); |
| void QueryVertexAttribfv(const VertexAttribute &attrib, |
| const VertexAttribCurrentValueData ¤tValueData, |
| GLenum pname, |
| GLfloat *params); |
| void QueryVertexAttribiv(const VertexAttribute &attrib, |
| const VertexAttribCurrentValueData ¤tValueData, |
| GLenum pname, |
| GLint *params); |
| void QueryVertexAttribPointerv(const VertexAttribute &attrib, GLenum pname, GLvoid **pointer); |
| void QueryVertexAttribIiv(const VertexAttribute &attrib, |
| const VertexAttribCurrentValueData ¤tValueData, |
| GLenum pname, |
| GLint *params); |
| void QueryVertexAttribIuiv(const VertexAttribute &attrib, |
| const VertexAttribCurrentValueData ¤tValueData, |
| GLenum pname, |
| GLuint *params); |
| |
| void QueryActiveUniformBlockiv(const Program *program, |
| GLuint uniformBlockIndex, |
| GLenum pname, |
| GLint *params); |
| |
| void SetTexParameterf(Texture *texture, GLenum pname, GLfloat param); |
| void SetTexParameterfv(Texture *texture, GLenum pname, const GLfloat *params); |
| void SetTexParameteri(Texture *texture, GLenum pname, GLint param); |
| void SetTexParameteriv(Texture *texture, GLenum pname, const GLint *params); |
| |
| void SetSamplerParameterf(Sampler *sampler, GLenum pname, GLfloat param); |
| void SetSamplerParameterfv(Sampler *sampler, GLenum pname, const GLfloat *params); |
| void SetSamplerParameteri(Sampler *sampler, GLenum pname, GLint param); |
| void SetSamplerParameteriv(Sampler *sampler, GLenum pname, const GLint *params); |
| } |
| |
| #endif // LIBANGLE_QUERYUTILS_H_ |