1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include <stdbool.h> 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "main/mfeatures.h" 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if FEATURE_ES1 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "api_loopback.h" 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "api_exec.h" 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "blend.h" 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "clear.h" 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "clip.h" 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "context.h" 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "depth.h" 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "fog.h" 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "imports.h" 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "light.h" 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "lines.h" 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "matrix.h" 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "multisample.h" 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "pixelstore.h" 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "points.h" 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "polygon.h" 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "readpix.h" 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "texenv.h" 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "texgen.h" 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "texobj.h" 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "texparam.h" 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "mtypes.h" 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "viewport.h" 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "main/drawtex.h" 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "vbo/vbo.h" 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef GL_APIENTRY 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define GL_APIENTRY GLAPIENTRY 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "main/es1_conversion.h" 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_AlphaFuncx(GLenum func, GLclampx ref) 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_AlphaFunc(func, (GLclampf) (ref / 65536.0f)); 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_ClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_ClearColor((GLclampf) (red / 65536.0f), 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLclampf) (green / 65536.0f), 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLclampf) (blue / 65536.0f), 50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLclampf) (alpha / 65536.0f)); 51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_ClearDepthx(GLclampx depth) 55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_ClearDepthf((GLclampf) (depth / 65536.0f)); 57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_ClipPlanef(GLenum plane, const GLfloat *equation) 61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLdouble converted_equation[4]; 64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < Elements(converted_equation); i++) { 66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_equation[i] = (GLdouble) (equation[i]); 67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_ClipPlane(plane, converted_equation); 70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_ClipPlanex(GLenum plane, const GLfixed *equation) 74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLdouble converted_equation[4]; 77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < Elements(converted_equation); i++) { 79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_equation[i] = (GLdouble) (equation[i] / 65536.0); 80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_ClipPlane(plane, converted_equation); 83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) 87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _es_Color4f((GLfloat) (red / 255.0f), 89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (green / 255.0f), 90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (blue / 255.0f), 91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (alpha / 255.0f)); 92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Color4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) 96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _es_Color4f((GLfloat) (red / 65536.0f), 98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (green / 65536.0f), 99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (blue / 65536.0f), 100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (alpha / 65536.0f)); 101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_DepthRangex(GLclampx zNear, GLclampx zFar) 105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_DepthRangef((GLclampf) (zNear / 65536.0f), 107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLclampf) (zFar / 65536.0f)); 108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_DrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed w, GLfixed h) 112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_DrawTexf((GLfloat) (x / 65536.0f), 115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (y / 65536.0f), 116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (z / 65536.0f), 117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (w / 65536.0f), 118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (h / 65536.0f)); 119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_DrawTexxvOES(const GLfixed *coords) 123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_coords[5]; 126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < Elements(converted_coords); i++) { 128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_coords[i] = (GLfloat) (coords[i] / 65536.0f); 129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_DrawTexfv(converted_coords); 132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Fogx(GLenum pname, GLfixed param) 136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (pname != GL_FOG_MODE) { 138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Fogf(pname, (GLfloat) (param / 65536.0f)); 139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } else { 140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Fogf(pname, (GLfloat) param); 141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Fogxv(GLenum pname, const GLfixed *params) 147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int n_params = 4; 150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[4]; 151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org bool convert_params_value = true; 152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_FOG_MODE: 155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org convert_params_value = false; 156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_FOG_COLOR: 159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 4; 160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_FOG_DENSITY: 162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_FOG_START: 163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_FOG_END: 164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glFogxv(pname=0x%x)", pname); 169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (convert_params_value) { 173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_params[i] = (GLfloat) (params[i] / 65536.0f); 175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } else { 177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_params[i] = (GLfloat) params[i]; 179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Fogfv(pname, converted_params); 183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Frustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, 187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat zNear, GLfloat zFar) 188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Frustum((GLdouble) (left), 190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (right), 191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (bottom), 192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (top), 193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (zNear), 194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (zFar)); 195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Frustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, 199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfixed zNear, GLfixed zFar) 200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Frustum((GLdouble) (left / 65536.0), 202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (right / 65536.0), 203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (bottom / 65536.0), 204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (top / 65536.0), 205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (zNear / 65536.0), 206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (zFar / 65536.0)); 207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_GetClipPlanef(GLenum plane, GLfloat *equation) 211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLdouble converted_equation[4]; 214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_GetClipPlane(plane, converted_equation); 216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < Elements(converted_equation); i++) { 217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org equation[i] = (GLfloat) (converted_equation[i]); 218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 219f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 220f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 221f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 222f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_GetClipPlanex(GLenum plane, GLfixed *equation) 223f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 224f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 225f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLdouble converted_equation[4]; 226f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 227f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_GetClipPlane(plane, converted_equation); 228f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < Elements(converted_equation); i++) { 229f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org equation[i] = (GLfixed) (converted_equation[i] * 65536); 230f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 231f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 232f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 233f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 234f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_GetLightxv(GLenum light, GLenum pname, GLfixed *params) 235f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 236f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 237f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int n_params = 4; 238f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[4]; 239f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 240f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (light < GL_LIGHT0 || light > GL_LIGHT7) { 241f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 242f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetLightxv(light=0x%x)", light); 243f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 244f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 245f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 246f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_AMBIENT: 247f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_DIFFUSE: 248f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SPECULAR: 249f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_POSITION: 250f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 4; 251f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 252f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SPOT_DIRECTION: 253f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 3; 254f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 255f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SPOT_EXPONENT: 256f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SPOT_CUTOFF: 257f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_CONSTANT_ATTENUATION: 258f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_LINEAR_ATTENUATION: 259f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_QUADRATIC_ATTENUATION: 260f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 261f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 262f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 263f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 264f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetLightxv(pname=0x%x)", pname); 265f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 266f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 267f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 268f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_GetLightfv(light, pname, converted_params); 269f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 270f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org params[i] = (GLint) (converted_params[i] * 65536); 271f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 272f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 273f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 274f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 275f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_GetMaterialxv(GLenum face, GLenum pname, GLfixed *params) 276f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 277f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 278f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int n_params = 4; 279f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[4]; 280f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 281f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(face) { 282f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_FRONT: 283f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_BACK: 284f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 285f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 286f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 287f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetMaterialxv(face=0x%x)", face); 288f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 289f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 290f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 291f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SHININESS: 292f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 293f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 294f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_AMBIENT: 295f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_DIFFUSE: 296f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SPECULAR: 297f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_EMISSION: 298f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 4; 299f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 300f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 301f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 302f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetMaterialxv(pname=0x%x)", pname); 303f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 304f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 305f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 306f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_GetMaterialfv(face, pname, converted_params); 307f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 308f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org params[i] = (GLint) (converted_params[i] * 65536); 309f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 310f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 311f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 312f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 313f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_GetTexEnvxv(GLenum target, GLenum pname, GLfixed *params) 314f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 315f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 316f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int n_params = 4; 317f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[4]; 318f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org bool convert_params_value = true; 319f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 320f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(target) { 321f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_POINT_SPRITE: 322f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (pname != GL_COORD_REPLACE) { 323f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 324f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetTexEnvxv(target=0x%x)", target); 325f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 326f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 327f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 328f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_FILTER_CONTROL_EXT: 329f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (pname != GL_TEXTURE_LOD_BIAS_EXT) { 330f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 331f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetTexEnvxv(target=0x%x)", target); 332f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 333f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 334f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 335f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_ENV: 336f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (pname != GL_TEXTURE_ENV_COLOR && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_SRC0_RGB && pname != GL_SRC1_RGB && pname != GL_SRC2_RGB && pname != GL_SRC0_ALPHA && pname != GL_SRC1_ALPHA && pname != GL_SRC2_ALPHA && pname != GL_OPERAND0_RGB && pname != GL_OPERAND1_RGB && pname != GL_OPERAND2_RGB && pname != GL_OPERAND0_ALPHA && pname != GL_OPERAND1_ALPHA && pname != GL_OPERAND2_ALPHA) { 337f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 338f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetTexEnvxv(target=0x%x)", target); 339f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 340f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 341f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 342f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 343f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 344f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetTexEnvxv(target=0x%x)", target); 345f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 346f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 347f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 348f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_COORD_REPLACE: 349f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org convert_params_value = false; 350f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 351f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 352f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_LOD_BIAS_EXT: 353f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 354f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 355f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_ENV_COLOR: 356f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 4; 357f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 358f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_RGB_SCALE: 359f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_ALPHA_SCALE: 360f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 361f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 362f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_ENV_MODE: 363f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_COMBINE_RGB: 364f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_COMBINE_ALPHA: 365f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC0_RGB: 366f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC1_RGB: 367f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC2_RGB: 368f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC0_ALPHA: 369f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC1_ALPHA: 370f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC2_ALPHA: 371f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND0_RGB: 372f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND1_RGB: 373f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND2_RGB: 374f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND0_ALPHA: 375f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND1_ALPHA: 376f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND2_ALPHA: 377f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org convert_params_value = false; 378f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 379f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 380f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 381f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 382f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetTexEnvxv(pname=0x%x)", pname); 383f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 384f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 385f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 386f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_GetTexEnvfv(target, pname, converted_params); 387f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (convert_params_value) { 388f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 389f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org params[i] = (GLint) (converted_params[i] * 65536); 390f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 391f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } else { 392f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 393f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org params[i] = (GLfixed) converted_params[i]; 394f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 395f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 396f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 397f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 398f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 399f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_check_GetTexGenivOES(GLenum coord, GLenum pname, GLint *params) 400f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 401f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_GetTexGeniv(coord, pname, params); 402f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 403f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 404f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 405f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_check_GetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params) 406f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 407f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_GetTexGeniv(coord, pname, (GLint *) params); 408f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 409f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 410f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 411f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_GetTexParameterxv(GLenum target, GLenum pname, GLfixed *params) 412f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 413f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 414f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int n_params = 4; 415f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[4]; 416f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org bool convert_params_value = true; 417f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 418f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(target) { 419f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_2D: 420f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_CUBE_MAP: 421f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_EXTERNAL_OES: 422f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 423f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 424f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 425f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetTexParameterxv(target=0x%x)", target); 426f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 427f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 428f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 429f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_WRAP_S: 430f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_WRAP_T: 431f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_MIN_FILTER: 432f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_MAG_FILTER: 433f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_GENERATE_MIPMAP: 434f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org convert_params_value = false; 435f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 436f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 437f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_CROP_RECT_OES: 438f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 4; 439f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 440f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 441f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 442f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glGetTexParameterxv(pname=0x%x)", pname); 443f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 444f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 445f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 446f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_GetTexParameterfv(target, pname, converted_params); 447f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (convert_params_value) { 448f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 449f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org params[i] = (GLint) (converted_params[i] * 65536); 450f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 451f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } else { 452f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 453f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org params[i] = (GLfixed) converted_params[i]; 454f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 455f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 456f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 457f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 458f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 459f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_LightModelx(GLenum pname, GLfixed param) 460f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 461f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_LightModelf(pname, (GLfloat) param); 462f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 463f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 464f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 465f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_LightModelxv(GLenum pname, const GLfixed *params) 466f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 467f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 468f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int n_params = 4; 469f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[4]; 470f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org bool convert_params_value = true; 471f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 472f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 473f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_LIGHT_MODEL_AMBIENT: 474f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 4; 475f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 476f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_LIGHT_MODEL_TWO_SIDE: 477f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org convert_params_value = false; 478f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 479f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 480f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 481f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 482f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glLightModelxv(pname=0x%x)", pname); 483f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 484f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 485f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 486f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (convert_params_value) { 487f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 488f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_params[i] = (GLfloat) (params[i] / 65536.0f); 489f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 490f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } else { 491f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 492f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_params[i] = (GLfloat) params[i]; 493f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 494f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 495f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 496f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_LightModelfv(pname, converted_params); 497f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 498f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 499f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 500f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Lightx(GLenum light, GLenum pname, GLfixed param) 501f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 502f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Lightf(light, pname, (GLfloat) (param / 65536.0f)); 503f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 504f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 505f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 506f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Lightxv(GLenum light, GLenum pname, const GLfixed *params) 507f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 508f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 509f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int n_params = 4; 510f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[4]; 511f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 512f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (light < GL_LIGHT0 || light > GL_LIGHT7) { 513f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 514f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glLightxv(light=0x%x)", light); 515f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 516f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 517f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 518f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_AMBIENT: 519f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_DIFFUSE: 520f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SPECULAR: 521f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_POSITION: 522f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 4; 523f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 524f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SPOT_DIRECTION: 525f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 3; 526f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 527f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SPOT_EXPONENT: 528f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SPOT_CUTOFF: 529f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_CONSTANT_ATTENUATION: 530f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_LINEAR_ATTENUATION: 531f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_QUADRATIC_ATTENUATION: 532f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 533f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 534f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 535f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 536f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glLightxv(pname=0x%x)", pname); 537f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 538f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 539f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 540f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 541f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_params[i] = (GLfloat) (params[i] / 65536.0f); 542f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 543f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 544f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Lightfv(light, pname, converted_params); 545f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 546f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 547f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 548f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_LineWidthx(GLfixed width) 549f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 550f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_LineWidth((GLfloat) (width / 65536.0f)); 551f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 552f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 553f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 554f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_LoadMatrixx(const GLfixed *m) 555f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 556f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 557f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_m[16]; 558f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 559f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < Elements(converted_m); i++) { 560f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_m[i] = (GLfloat) (m[i] / 65536.0f); 561f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 562f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 563f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_LoadMatrixf(converted_m); 564f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 565f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 566f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 567f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Materialx(GLenum face, GLenum pname, GLfixed param) 568f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 569f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (face != GL_FRONT_AND_BACK) { 570f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 571f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glMaterialx(face=0x%x)", face); 572f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 573f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 574f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 575f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (pname != GL_SHININESS) { 576f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 577f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glMaterialx(pname=0x%x)", pname); 578f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 579f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 580f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 581f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _es_Materialf(face, pname, (GLfloat) (param / 65536.0f)); 582f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 583f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 584f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 585f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Materialxv(GLenum face, GLenum pname, const GLfixed *params) 586f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 587f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 588f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int n_params = 4; 589f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[4]; 590f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 591f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (face != GL_FRONT_AND_BACK) { 592f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 593f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glMaterialxv(face=0x%x)", face); 594f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 595f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 596f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 597f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 598f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_AMBIENT: 599f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_DIFFUSE: 600f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_AMBIENT_AND_DIFFUSE: 601f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SPECULAR: 602f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_EMISSION: 603f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 4; 604f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 605f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SHININESS: 606f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 607f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 608f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 609f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 610f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glMaterialxv(pname=0x%x)", pname); 611f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 612f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 613f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 614f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 615f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_params[i] = (GLfloat) (params[i] / 65536.0f); 616f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 617f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 618f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _es_Materialfv(face, pname, converted_params); 619f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 620f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 621f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 622f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_MultMatrixx(const GLfixed *m) 623f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 624f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 625f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_m[16]; 626f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 627f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < Elements(converted_m); i++) { 628f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_m[i] = (GLfloat) (m[i] / 65536.0f); 629f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 630f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 631f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_MultMatrixf(converted_m); 632f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 633f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 634f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 635f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_MultiTexCoord4x(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q) 636f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 637f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _es_MultiTexCoord4f(texture, 638f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (s / 65536.0f), 639f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (t / 65536.0f), 640f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (r / 65536.0f), 641f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (q / 65536.0f)); 642f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 643f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 644f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 645f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Normal3x(GLfixed nx, GLfixed ny, GLfixed nz) 646f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 647f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _es_Normal3f((GLfloat) (nx / 65536.0f), 648f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (ny / 65536.0f), 649f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (nz / 65536.0f)); 650f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 651f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 652f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 653f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Orthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, 654f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat zNear, GLfloat zFar) 655f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 656f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Ortho((GLdouble) (left), 657f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (right), 658f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (bottom), 659f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (top), 660f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (zNear), 661f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (zFar)); 662f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 663f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 664f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 665f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Orthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, 666f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfixed zNear, GLfixed zFar) 667f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 668f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Ortho((GLdouble) (left / 65536.0), 669f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (right / 65536.0), 670f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (bottom / 65536.0), 671f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (top / 65536.0), 672f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (zNear / 65536.0), 673f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLdouble) (zFar / 65536.0)); 674f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 675f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 676f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 677f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_PointParameterx(GLenum pname, GLfixed param) 678f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 679f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_PointParameterf(pname, (GLfloat) (param / 65536.0f)); 680f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 681f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 682f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 683f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_PointParameterxv(GLenum pname, const GLfixed *params) 684f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 685f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 686f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int n_params = 3; 687f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[3]; 688f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 689f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 690f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_POINT_SIZE_MIN: 691f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_POINT_SIZE_MAX: 692f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_POINT_FADE_THRESHOLD_SIZE: 693f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 694f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 695f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_POINT_DISTANCE_ATTENUATION: 696f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 3; 697f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 698f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 699f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 700f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glPointParameterxv(pname=0x%x)", pname); 701f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 702f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 703f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 704f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 705f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_params[i] = (GLfloat) (params[i] / 65536.0f); 706f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 707f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 708f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_PointParameterfv(pname, converted_params); 709f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 710f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 711f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 712f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_PointSizex(GLfixed size) 713f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 714f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_PointSize((GLfloat) (size / 65536.0f)); 715f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 716f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 717f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 718f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_PolygonOffsetx(GLfixed factor, GLfixed units) 719f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 720f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_PolygonOffset((GLfloat) (factor / 65536.0f), 721f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (units / 65536.0f)); 722f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 723f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 724f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 725f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Rotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) 726f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 727f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Rotatef((GLfloat) (angle / 65536.0f), 728f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (x / 65536.0f), 729f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (y / 65536.0f), 730f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (z / 65536.0f)); 731f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 732f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 733f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 734f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_SampleCoveragex(GLclampx value, GLboolean invert) 735f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 736f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_SampleCoverageARB((GLclampf) (value / 65536.0f), 737f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org invert); 738f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 739f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 740f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 741f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Scalex(GLfixed x, GLfixed y, GLfixed z) 742f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 743f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Scalef((GLfloat) (x / 65536.0f), 744f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (y / 65536.0f), 745f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (z / 65536.0f)); 746f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 747f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 748f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 749f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_TexEnvx(GLenum target, GLenum pname, GLfixed param) 750f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 751f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(target) { 752f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_POINT_SPRITE: 753f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_FILTER_CONTROL_EXT: 754f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_ENV: 755f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 756f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 757f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 758f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glTexEnvx(target=0x%x)", target); 759f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 760f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 761f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 762f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 763f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_COORD_REPLACE: 764f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_ENV_MODE: 765f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_COMBINE_RGB: 766f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_COMBINE_ALPHA: 767f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC0_RGB: 768f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC1_RGB: 769f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC2_RGB: 770f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC0_ALPHA: 771f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC1_ALPHA: 772f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC2_ALPHA: 773f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND0_RGB: 774f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND1_RGB: 775f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND2_RGB: 776f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND0_ALPHA: 777f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND1_ALPHA: 778f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND2_ALPHA: 779f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_TexEnvf(target, pname, (GLfloat) param); 780f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 781f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_LOD_BIAS_EXT: 782f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_RGB_SCALE: 783f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_ALPHA_SCALE: 784f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_TexEnvf(target, pname, (GLfloat) (param / 65536.0f)); 785f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 786f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 787f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 788f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glTexEnvx(pname=0x%x)", pname); 789f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 790f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 791f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 792f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 793f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 794f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_TexEnvxv(GLenum target, GLenum pname, const GLfixed *params) 795f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 796f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(target) { 797f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_POINT_SPRITE: 798f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_FILTER_CONTROL_EXT: 799f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_ENV: 800f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 801f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 802f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 803f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glTexEnvxv(target=0x%x)", target); 804f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 805f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 806f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 807f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 808f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_COORD_REPLACE: 809f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_ENV_MODE: 810f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_COMBINE_RGB: 811f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_COMBINE_ALPHA: 812f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC0_RGB: 813f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC1_RGB: 814f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC2_RGB: 815f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC0_ALPHA: 816f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC1_ALPHA: 817f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_SRC2_ALPHA: 818f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND0_RGB: 819f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND1_RGB: 820f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND2_RGB: 821f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND0_ALPHA: 822f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND1_ALPHA: 823f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_OPERAND2_ALPHA: 824f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_TexEnvf(target, pname, (GLfloat) params[0]); 825f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 826f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_LOD_BIAS_EXT: 827f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_RGB_SCALE: 828f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_ALPHA_SCALE: 829f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_TexEnvf(target, pname, (GLfloat) (params[0] / 65536.0f)); 830f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 831f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_ENV_COLOR: { 832f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 833f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[4]; 834f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 835f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < Elements(converted_params); i++) { 836f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_params[i] = (GLfloat) (params[i] / 65536.0f); 837f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 838f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 839f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_TexEnvfv(target, pname, converted_params); 840f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 841f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 842f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 843f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 844f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glTexEnvxv(pname=0x%x)", pname); 845f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 846f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 847f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 848f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 849f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 850f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_check_TexGeniOES(GLenum coord, GLenum pname, GLint param) 851f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 852f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _es_TexGenf(coord, pname, (GLfloat) param); 853f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 854f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 855f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 856f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_check_TexGenivOES(GLenum coord, GLenum pname, const GLint *params) 857f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 858f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _es_TexGenf(coord, pname, (GLfloat) params[0]); 859f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 860f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 861f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 862f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_check_TexGenxOES(GLenum coord, GLenum pname, GLfixed param) 863f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 864f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _es_TexGenf(coord, pname, (GLfloat) param); 865f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 866f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 867f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 868f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_check_TexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params) 869f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 870f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _es_TexGenf(coord, pname, (GLfloat) params[0]); 871f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 872f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 873f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 874f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_TexParameterx(GLenum target, GLenum pname, GLfixed param) 875f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 876f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (pname == GL_TEXTURE_MAX_ANISOTROPY_EXT) { 877f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_TexParameterf(target, pname, (GLfloat) (param / 65536.0f)); 878f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } else { 879f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_TexParameterf(target, pname, (GLfloat) param); 880f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 881f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 882f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 883f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 884f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_TexParameterxv(GLenum target, GLenum pname, const GLfixed *params) 885f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 886f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int i; 887f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned int n_params = 4; 888f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org GLfloat converted_params[4]; 889f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org bool convert_params_value = true; 890f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 891f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(target) { 892f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_2D: 893f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_CUBE_MAP: 894f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_EXTERNAL_OES: 895f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 896f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 897f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 898f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glTexParameterxv(target=0x%x)", target); 899f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 900f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 901f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org switch(pname) { 902f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_WRAP_S: 903f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_WRAP_T: 904f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org convert_params_value = false; 905f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 906f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 907f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_MIN_FILTER: 908f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_MAG_FILTER: 909f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_GENERATE_MIPMAP: 910f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org convert_params_value = false; 911f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 912f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 913f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_MAX_ANISOTROPY_EXT: 914f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 1; 915f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 916f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org case GL_TEXTURE_CROP_RECT_OES: 917f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org n_params = 4; 918f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org break; 919f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org default: 920f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 921f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "glTexParameterxv(pname=0x%x)", pname); 922f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return; 923f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 924f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 925f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (convert_params_value) { 926f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 927f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_params[i] = (GLfloat) (params[i] / 65536.0f); 928f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 929f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } else { 930f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for (i = 0; i < n_params; i++) { 931f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org converted_params[i] = (GLfloat) params[i]; 932f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 933f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 934f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 935f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_TexParameterfv(target, pname, converted_params); 936f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 937f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 938f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid GL_APIENTRY 939f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org_es_Translatex(GLfixed x, GLfixed y, GLfixed z) 940f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 941f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org _mesa_Translatef((GLfloat) (x / 65536.0f), 942f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (y / 65536.0f), 943f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org (GLfloat) (z / 65536.0f)); 944f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 945f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 946f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* FEATURE_ES1 */ 947