#include "libANGLE/queryconversions.h"
#include <vector>
#include "common/utilities.h"
#include "libANGLE/Context.h"
namespace gl
{
namespace
{
GLint64 ExpandFloatToInteger(GLfloat value)
{ … }
template <typename QueryT, typename NativeT>
QueryT CastFromStateValueToInt(GLenum pname, NativeT value)
{ … }
template <typename NativeT, typename QueryT>
NativeT CastQueryValueToInt(GLenum pname, QueryT value)
{ … }
}
GLint CastMaskValue(GLuint value)
{ … }
template <typename QueryT, typename InternalT>
QueryT CastFromGLintStateValue(GLenum pname, InternalT value)
{ … }
template GLfloat CastFromGLintStateValue<GLfloat, GLenum>(GLenum pname, GLenum value);
template GLint CastFromGLintStateValue<GLint, GLenum>(GLenum pname, GLenum value);
template GLint64 CastFromGLintStateValue<GLint64, GLenum>(GLenum pname, GLenum value);
template GLuint CastFromGLintStateValue<GLuint, GLenum>(GLenum pname, GLenum value);
template GLuint CastFromGLintStateValue<GLuint, GLint>(GLenum pname, GLint value);
template GLfloat CastFromGLintStateValue<GLfloat, GLint>(GLenum pname, GLint value);
template GLint CastFromGLintStateValue<GLint, GLint>(GLenum pname, GLint value);
template GLfloat CastFromGLintStateValue<GLfloat, bool>(GLenum pname, bool value);
template GLuint CastFromGLintStateValue<GLuint, bool>(GLenum pname, bool value);
template GLint CastFromGLintStateValue<GLint, bool>(GLenum pname, bool value);
template GLfloat CastFromGLintStateValue<GLfloat, GLfloat>(GLenum pname, GLfloat value);
template GLint CastFromGLintStateValue<GLint, GLfloat>(GLenum pname, GLfloat value);
template GLuint CastFromGLintStateValue<GLuint, GLfloat>(GLenum pname, GLfloat value);
template <typename QueryT, typename NativeT>
QueryT CastFromStateValue(GLenum pname, NativeT value)
{ … }
template GLint CastFromStateValue<GLint, GLint>(GLenum pname, GLint value);
template GLint CastFromStateValue<GLint, GLint64>(GLenum pname, GLint64 value);
template GLint64 CastFromStateValue<GLint64, GLint>(GLenum pname, GLint value);
template GLint64 CastFromStateValue<GLint64, GLint64>(GLenum pname, GLint64 value);
template GLfloat CastFromStateValue<GLfloat, GLint>(GLenum pname, GLint value);
template GLfloat CastFromStateValue<GLfloat, GLuint>(GLenum pname, GLuint value);
template GLfloat CastFromStateValue<GLfloat, GLfloat>(GLenum pname, GLfloat value);
template GLint CastFromStateValue<GLint, GLfloat>(GLenum pname, GLfloat value);
template GLuint CastFromStateValue<GLuint, GLfloat>(GLenum pname, GLfloat value);
template GLuint CastFromStateValue<GLuint, GLint>(GLenum pname, GLint value);
template GLuint CastFromStateValue<GLuint, GLuint>(GLenum pname, GLuint value);
template GLint CastFromStateValue<GLint, GLboolean>(GLenum pname, GLboolean value);
template GLint64 CastFromStateValue<GLint64, GLboolean>(GLenum pname, GLboolean value);
template GLint CastFromStateValue<GLint, GLuint>(GLenum pname, GLuint value);
template GLint64 CastFromStateValue<GLint64, GLuint>(GLenum pname, GLuint value);
template GLuint64 CastFromStateValue<GLuint64, GLuint>(GLenum pname, GLuint value);
template <typename NativeT, typename QueryT>
NativeT CastQueryValueTo(GLenum pname, QueryT value)
{ … }
template GLint CastQueryValueTo<GLint, GLfloat>(GLenum pname, GLfloat value);
template GLboolean CastQueryValueTo<GLboolean, GLint>(GLenum pname, GLint value);
template GLint CastQueryValueTo<GLint, GLint>(GLenum pname, GLint value);
template GLint CastQueryValueTo<GLint, GLuint>(GLenum pname, GLuint value);
template GLfloat CastQueryValueTo<GLfloat, GLint>(GLenum pname, GLint value);
template GLfloat CastQueryValueTo<GLfloat, GLuint>(GLenum pname, GLuint value);
template GLfloat CastQueryValueTo<GLfloat, GLfloat>(GLenum pname, GLfloat value);
template GLuint CastQueryValueTo<GLuint, GLint>(GLenum pname, GLint value);
template GLuint CastQueryValueTo<GLuint, GLuint>(GLenum pname, GLuint value);
template GLuint CastQueryValueTo<GLuint, GLfloat>(GLenum pname, GLfloat value);
template <typename QueryT>
void CastStateValues(const Context *context,
GLenum nativeType,
GLenum pname,
unsigned int numParams,
QueryT *outParams)
{ … }
template void CastStateValues<GLboolean>(const Context *,
GLenum,
GLenum,
unsigned int,
GLboolean *);
template void CastStateValues<GLint>(const Context *, GLenum, GLenum, unsigned int, GLint *);
template void CastStateValues<GLuint>(const Context *, GLenum, GLenum, unsigned int, GLuint *);
template void CastStateValues<GLfloat>(const Context *, GLenum, GLenum, unsigned int, GLfloat *);
template void CastStateValues<GLint64>(const Context *, GLenum, GLenum, unsigned int, GLint64 *);
template <typename QueryT>
void CastIndexedStateValues(Context *context,
GLenum nativeType,
GLenum pname,
GLuint index,
unsigned int numParams,
QueryT *outParams)
{ … }
template void CastIndexedStateValues<GLboolean>(Context *,
GLenum,
GLenum,
GLuint index,
unsigned int,
GLboolean *);
template void CastIndexedStateValues<GLint>(Context *,
GLenum,
GLenum,
GLuint index,
unsigned int,
GLint *);
template void CastIndexedStateValues<GLuint>(Context *,
GLenum,
GLenum,
GLuint index,
unsigned int,
GLuint *);
template void CastIndexedStateValues<GLfloat>(Context *,
GLenum,
GLenum,
GLuint index,
unsigned int,
GLfloat *);
template void CastIndexedStateValues<GLint64>(Context *,
GLenum,
GLenum,
GLuint index,
unsigned int,
GLint64 *);
}