es1_conversion.c revision a0595cb4506251509e032a2592d6bb684480de4b
1#include <stdbool.h> 2#include "main/mfeatures.h" 3 4#if FEATURE_ES1 5 6#include "api_loopback.h" 7#include "api_exec.h" 8#include "blend.h" 9#include "clear.h" 10#include "clip.h" 11#include "context.h" 12#include "depth.h" 13#include "fog.h" 14#include "imports.h" 15#include "light.h" 16#include "lines.h" 17#include "matrix.h" 18#include "multisample.h" 19#include "pixelstore.h" 20#include "points.h" 21#include "polygon.h" 22#include "readpix.h" 23#include "texenv.h" 24#include "texgen.h" 25#include "texobj.h" 26#include "texparam.h" 27#include "mtypes.h" 28#include "viewport.h" 29#include "main/drawtex.h" 30#include "vbo/vbo.h" 31 32#ifndef GL_APIENTRY 33#define GL_APIENTRY GLAPIENTRY 34#endif 35 36#include "main/es1_conversion.h" 37 38void GL_APIENTRY 39_es_AlphaFuncx(GLenum func, GLclampx ref) 40{ 41 _mesa_AlphaFunc(func, (GLclampf) (ref / 65536.0f)); 42} 43 44void GL_APIENTRY 45_es_ClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) 46{ 47 _mesa_ClearColor((GLclampf) (red / 65536.0f), 48 (GLclampf) (green / 65536.0f), 49 (GLclampf) (blue / 65536.0f), 50 (GLclampf) (alpha / 65536.0f)); 51} 52 53void GL_APIENTRY 54_es_ClearDepthx(GLclampx depth) 55{ 56 _mesa_ClearDepthf((GLclampf) (depth / 65536.0f)); 57} 58 59void GL_APIENTRY 60_es_ClipPlanef(GLenum plane, const GLfloat *equation) 61{ 62 unsigned int i; 63 GLdouble converted_equation[4]; 64 65 for (i = 0; i < Elements(converted_equation); i++) { 66 converted_equation[i] = (GLdouble) (equation[i]); 67 } 68 69 _mesa_ClipPlane(plane, converted_equation); 70} 71 72void GL_APIENTRY 73_es_ClipPlanex(GLenum plane, const GLfixed *equation) 74{ 75 unsigned int i; 76 GLdouble converted_equation[4]; 77 78 for (i = 0; i < Elements(converted_equation); i++) { 79 converted_equation[i] = (GLdouble) (equation[i] / 65536.0); 80 } 81 82 _mesa_ClipPlane(plane, converted_equation); 83} 84 85void GL_APIENTRY 86_es_Color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) 87{ 88 _es_Color4f((GLfloat) (red / 255.0f), 89 (GLfloat) (green / 255.0f), 90 (GLfloat) (blue / 255.0f), 91 (GLfloat) (alpha / 255.0f)); 92} 93 94void GL_APIENTRY 95_es_Color4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) 96{ 97 _es_Color4f((GLfloat) (red / 65536.0f), 98 (GLfloat) (green / 65536.0f), 99 (GLfloat) (blue / 65536.0f), 100 (GLfloat) (alpha / 65536.0f)); 101} 102 103void GL_APIENTRY 104_es_DepthRangex(GLclampx zNear, GLclampx zFar) 105{ 106 _mesa_DepthRangef((GLclampf) (zNear / 65536.0f), 107 (GLclampf) (zFar / 65536.0f)); 108} 109 110void GL_APIENTRY 111_es_DrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed w, GLfixed h) 112{ 113 114 _mesa_DrawTexf((GLfloat) (x / 65536.0f), 115 (GLfloat) (y / 65536.0f), 116 (GLfloat) (z / 65536.0f), 117 (GLfloat) (w / 65536.0f), 118 (GLfloat) (h / 65536.0f)); 119} 120 121void GL_APIENTRY 122_es_DrawTexxvOES(const GLfixed *coords) 123{ 124 unsigned int i; 125 GLfloat converted_coords[5]; 126 127 for (i = 0; i < Elements(converted_coords); i++) { 128 converted_coords[i] = (GLfloat) (coords[i] / 65536.0f); 129 } 130 131 _mesa_DrawTexfv(converted_coords); 132} 133 134void GL_APIENTRY 135_es_Fogx(GLenum pname, GLfixed param) 136{ 137 bool convert_param_value = true; 138 139 switch(pname) { 140 case GL_FOG_MODE: 141 if (param != GL_EXP && param != GL_EXP2 && param != GL_LINEAR) { 142 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 143 "glFogx(pname=0x%x)", pname); 144 return; 145 } 146 convert_param_value = false; 147 break; 148 case GL_FOG_DENSITY: 149 case GL_FOG_START: 150 case GL_FOG_END: 151 break; 152 default: 153 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 154 "glFogx(pname=0x%x)", pname); 155 return; 156 } 157 158 if (convert_param_value) { 159 _mesa_Fogf(pname, (GLfloat) (param / 65536.0f)); 160 } else { 161 _mesa_Fogf(pname, (GLfloat) param); 162 } 163 164} 165 166void GL_APIENTRY 167_es_Fogxv(GLenum pname, const GLfixed *params) 168{ 169 unsigned int i; 170 unsigned int n_params = 4; 171 GLfloat converted_params[4]; 172 bool convert_params_value = true; 173 174 switch(pname) { 175 case GL_FOG_MODE: 176 if (params[0] != GL_EXP && params[0] != GL_EXP2 && params[0] != GL_LINEAR) { 177 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 178 "glFogxv(pname=0x%x)", pname); 179 return; 180 } 181 convert_params_value = false; 182 n_params = 1; 183 break; 184 case GL_FOG_COLOR: 185 n_params = 4; 186 break; 187 case GL_FOG_DENSITY: 188 case GL_FOG_START: 189 case GL_FOG_END: 190 n_params = 1; 191 break; 192 default: 193 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 194 "glFogxv(pname=0x%x)", pname); 195 return; 196 } 197 198 if (convert_params_value) { 199 for (i = 0; i < n_params; i++) { 200 converted_params[i] = (GLfloat) (params[i] / 65536.0f); 201 } 202 } else { 203 for (i = 0; i < n_params; i++) { 204 converted_params[i] = (GLfloat) params[i]; 205 } 206 } 207 208 _mesa_Fogfv(pname, converted_params); 209} 210 211void GL_APIENTRY 212_es_Frustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, 213 GLfloat zNear, GLfloat zFar) 214{ 215 _mesa_Frustum((GLdouble) (left), 216 (GLdouble) (right), 217 (GLdouble) (bottom), 218 (GLdouble) (top), 219 (GLdouble) (zNear), 220 (GLdouble) (zFar)); 221} 222 223void GL_APIENTRY 224_es_Frustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, 225 GLfixed zNear, GLfixed zFar) 226{ 227 _mesa_Frustum((GLdouble) (left / 65536.0), 228 (GLdouble) (right / 65536.0), 229 (GLdouble) (bottom / 65536.0), 230 (GLdouble) (top / 65536.0), 231 (GLdouble) (zNear / 65536.0), 232 (GLdouble) (zFar / 65536.0)); 233} 234 235void GL_APIENTRY 236_es_GetClipPlanef(GLenum plane, GLfloat *equation) 237{ 238 unsigned int i; 239 GLdouble converted_equation[4]; 240 241 _mesa_GetClipPlane(plane, converted_equation); 242 for (i = 0; i < Elements(converted_equation); i++) { 243 equation[i] = (GLfloat) (converted_equation[i]); 244 } 245} 246 247void GL_APIENTRY 248_es_GetClipPlanex(GLenum plane, GLfixed *equation) 249{ 250 unsigned int i; 251 GLdouble converted_equation[4]; 252 253 _mesa_GetClipPlane(plane, converted_equation); 254 for (i = 0; i < Elements(converted_equation); i++) { 255 equation[i] = (GLfixed) (converted_equation[i] * 65536); 256 } 257} 258 259void GL_APIENTRY 260_es_GetLightxv(GLenum light, GLenum pname, GLfixed *params) 261{ 262 unsigned int i; 263 unsigned int n_params = 4; 264 GLfloat converted_params[4]; 265 266 if (light < GL_LIGHT0 || light > GL_LIGHT7) { 267 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 268 "glGetLightxv(light=0x%x)", light); 269 return; 270 } 271 switch(pname) { 272 case GL_AMBIENT: 273 case GL_DIFFUSE: 274 case GL_SPECULAR: 275 case GL_POSITION: 276 n_params = 4; 277 break; 278 case GL_SPOT_DIRECTION: 279 n_params = 3; 280 break; 281 case GL_SPOT_EXPONENT: 282 case GL_SPOT_CUTOFF: 283 case GL_CONSTANT_ATTENUATION: 284 case GL_LINEAR_ATTENUATION: 285 case GL_QUADRATIC_ATTENUATION: 286 n_params = 1; 287 break; 288 default: 289 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 290 "glGetLightxv(pname=0x%x)", pname); 291 return; 292 } 293 294 _mesa_GetLightfv(light, pname, converted_params); 295 for (i = 0; i < n_params; i++) { 296 params[i] = (GLint) (converted_params[i] * 65536); 297 } 298} 299 300void GL_APIENTRY 301_es_GetMaterialxv(GLenum face, GLenum pname, GLfixed *params) 302{ 303 unsigned int i; 304 unsigned int n_params = 4; 305 GLfloat converted_params[4]; 306 307 switch(face) { 308 case GL_FRONT: 309 case GL_BACK: 310 break; 311 default: 312 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 313 "glGetMaterialxv(face=0x%x)", face); 314 return; 315 } 316 switch(pname) { 317 case GL_SHININESS: 318 n_params = 1; 319 break; 320 case GL_AMBIENT: 321 case GL_DIFFUSE: 322 case GL_AMBIENT_AND_DIFFUSE: 323 case GL_SPECULAR: 324 case GL_EMISSION: 325 n_params = 4; 326 break; 327 default: 328 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 329 "glGetMaterialxv(pname=0x%x)", pname); 330 return; 331 } 332 333 _mesa_GetMaterialfv(face, pname, converted_params); 334 for (i = 0; i < n_params; i++) { 335 params[i] = (GLint) (converted_params[i] * 65536); 336 } 337} 338 339void GL_APIENTRY 340_es_GetTexEnvxv(GLenum target, GLenum pname, GLfixed *params) 341{ 342 unsigned int i; 343 unsigned int n_params = 4; 344 GLfloat converted_params[4]; 345 bool convert_params_value = true; 346 347 switch(target) { 348 case GL_POINT_SPRITE: 349 if (pname != GL_COORD_REPLACE) { 350 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 351 "glGetTexEnvxv(target=0x%x)", target); 352 return; 353 } 354 break; 355 case GL_TEXTURE_FILTER_CONTROL_EXT: 356 if (pname != GL_TEXTURE_LOD_BIAS_EXT) { 357 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 358 "glGetTexEnvxv(target=0x%x)", target); 359 return; 360 } 361 break; 362 case GL_TEXTURE_ENV: 363 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) { 364 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 365 "glGetTexEnvxv(target=0x%x)", target); 366 return; 367 } 368 break; 369 default: 370 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 371 "glGetTexEnvxv(target=0x%x)", target); 372 return; 373 } 374 switch(pname) { 375 case GL_COORD_REPLACE: 376 convert_params_value = false; 377 n_params = 1; 378 break; 379 case GL_TEXTURE_LOD_BIAS_EXT: 380 n_params = 1; 381 break; 382 case GL_TEXTURE_ENV_COLOR: 383 n_params = 4; 384 break; 385 case GL_RGB_SCALE: 386 case GL_ALPHA_SCALE: 387 n_params = 1; 388 break; 389 case GL_TEXTURE_ENV_MODE: 390 case GL_COMBINE_RGB: 391 case GL_COMBINE_ALPHA: 392 case GL_SRC0_RGB: 393 case GL_SRC1_RGB: 394 case GL_SRC2_RGB: 395 case GL_SRC0_ALPHA: 396 case GL_SRC1_ALPHA: 397 case GL_SRC2_ALPHA: 398 case GL_OPERAND0_RGB: 399 case GL_OPERAND1_RGB: 400 case GL_OPERAND2_RGB: 401 case GL_OPERAND0_ALPHA: 402 case GL_OPERAND1_ALPHA: 403 case GL_OPERAND2_ALPHA: 404 convert_params_value = false; 405 n_params = 1; 406 break; 407 default: 408 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 409 "glGetTexEnvxv(pname=0x%x)", pname); 410 return; 411 } 412 413 _mesa_GetTexEnvfv(target, pname, converted_params); 414 if (convert_params_value) { 415 for (i = 0; i < n_params; i++) { 416 params[i] = (GLint) (converted_params[i] * 65536); 417 } 418 } else { 419 for (i = 0; i < n_params; i++) { 420 params[i] = (GLfixed) converted_params[i]; 421 } 422 } 423} 424 425void GL_APIENTRY 426_check_GetTexGenivOES(GLenum coord, GLenum pname, GLint *params) 427{ 428 unsigned int i; 429 unsigned int n_params = 1; 430 GLfloat converted_params[1]; 431 432 switch(coord) { 433 case GL_TEXTURE_GEN_STR_OES: 434 break; 435 default: 436 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 437 "glGetTexGenivOES(coord=0x%x)", coord); 438 return; 439 } 440 switch(pname) { 441 case GL_TEXTURE_GEN_MODE: 442 n_params = 1; 443 break; 444 default: 445 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 446 "glGetTexGenivOES(pname=0x%x)", pname); 447 return; 448 } 449 450 _es_GetTexGenfv(coord, pname, converted_params); 451 for (i = 0; i < n_params; i++) { 452 params[i] = (GLfloat) converted_params[i]; 453 } 454} 455 456void GL_APIENTRY 457_check_GetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params) 458{ 459 unsigned int i; 460 unsigned int n_params = 1; 461 GLfloat converted_params[1]; 462 463 switch(coord) { 464 case GL_TEXTURE_GEN_STR_OES: 465 break; 466 default: 467 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 468 "glGetTexGenxvOES(coord=0x%x)", coord); 469 return; 470 } 471 switch(pname) { 472 case GL_TEXTURE_GEN_MODE: 473 n_params = 1; 474 break; 475 default: 476 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 477 "glGetTexGenxvOES(pname=0x%x)", pname); 478 return; 479 } 480 481 _es_GetTexGenfv(coord, pname, converted_params); 482 for (i = 0; i < n_params; i++) { 483 params[i] = (GLfloat) converted_params[i]; 484 } 485} 486 487void GL_APIENTRY 488_es_GetTexParameterxv(GLenum target, GLenum pname, GLfixed *params) 489{ 490 unsigned int i; 491 unsigned int n_params = 4; 492 GLfloat converted_params[4]; 493 bool convert_params_value = true; 494 495 switch(target) { 496 case GL_TEXTURE_2D: 497 case GL_TEXTURE_CUBE_MAP: 498 case GL_TEXTURE_EXTERNAL_OES: 499 break; 500 default: 501 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 502 "glGetTexParameterxv(target=0x%x)", target); 503 return; 504 } 505 switch(pname) { 506 case GL_TEXTURE_WRAP_S: 507 case GL_TEXTURE_WRAP_T: 508 case GL_TEXTURE_MIN_FILTER: 509 case GL_TEXTURE_MAG_FILTER: 510 case GL_GENERATE_MIPMAP: 511 convert_params_value = false; 512 n_params = 1; 513 break; 514 case GL_TEXTURE_CROP_RECT_OES: 515 n_params = 4; 516 break; 517 default: 518 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 519 "glGetTexParameterxv(pname=0x%x)", pname); 520 return; 521 } 522 523 _mesa_GetTexParameterfv(target, pname, converted_params); 524 if (convert_params_value) { 525 for (i = 0; i < n_params; i++) { 526 params[i] = (GLint) (converted_params[i] * 65536); 527 } 528 } else { 529 for (i = 0; i < n_params; i++) { 530 params[i] = (GLfixed) converted_params[i]; 531 } 532 } 533} 534 535void GL_APIENTRY 536_es_LightModelx(GLenum pname, GLfixed param) 537{ 538 switch(pname) { 539 case GL_LIGHT_MODEL_TWO_SIDE: 540 if (param != GL_TRUE && param != GL_FALSE) { 541 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 542 "glLightModelx(pname=0x%x)", pname); 543 return; 544 } 545 break; 546 default: 547 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 548 "glLightModelx(pname=0x%x)", pname); 549 return; 550 } 551 552 _mesa_LightModelf(pname, (GLfloat) param); 553} 554 555void GL_APIENTRY 556_es_LightModelxv(GLenum pname, const GLfixed *params) 557{ 558 unsigned int i; 559 unsigned int n_params = 4; 560 GLfloat converted_params[4]; 561 bool convert_params_value = true; 562 563 switch(pname) { 564 case GL_LIGHT_MODEL_AMBIENT: 565 n_params = 4; 566 break; 567 case GL_LIGHT_MODEL_TWO_SIDE: 568 if (params[0] != GL_TRUE && params[0] != GL_FALSE) { 569 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 570 "glLightModelxv(pname=0x%x)", pname); 571 return; 572 } 573 convert_params_value = false; 574 n_params = 1; 575 break; 576 default: 577 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 578 "glLightModelxv(pname=0x%x)", pname); 579 return; 580 } 581 582 if (convert_params_value) { 583 for (i = 0; i < n_params; i++) { 584 converted_params[i] = (GLfloat) (params[i] / 65536.0f); 585 } 586 } else { 587 for (i = 0; i < n_params; i++) { 588 converted_params[i] = (GLfloat) params[i]; 589 } 590 } 591 592 _mesa_LightModelfv(pname, converted_params); 593} 594 595void GL_APIENTRY 596_es_Lightx(GLenum light, GLenum pname, GLfixed param) 597{ 598 _mesa_Lightf(light, pname, (GLfloat) (param / 65536.0f)); 599} 600 601void GL_APIENTRY 602_es_Lightxv(GLenum light, GLenum pname, const GLfixed *params) 603{ 604 unsigned int i; 605 unsigned int n_params = 4; 606 GLfloat converted_params[4]; 607 608 if (light < GL_LIGHT0 || light > GL_LIGHT7) { 609 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 610 "glLightxv(light=0x%x)", light); 611 return; 612 } 613 switch(pname) { 614 case GL_AMBIENT: 615 case GL_DIFFUSE: 616 case GL_SPECULAR: 617 case GL_POSITION: 618 n_params = 4; 619 break; 620 case GL_SPOT_DIRECTION: 621 n_params = 3; 622 break; 623 case GL_SPOT_EXPONENT: 624 case GL_SPOT_CUTOFF: 625 case GL_CONSTANT_ATTENUATION: 626 case GL_LINEAR_ATTENUATION: 627 case GL_QUADRATIC_ATTENUATION: 628 n_params = 1; 629 break; 630 default: 631 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 632 "glLightxv(pname=0x%x)", pname); 633 return; 634 } 635 636 for (i = 0; i < n_params; i++) { 637 converted_params[i] = (GLfloat) (params[i] / 65536.0f); 638 } 639 640 _mesa_Lightfv(light, pname, converted_params); 641} 642 643void GL_APIENTRY 644_es_LineWidthx(GLfixed width) 645{ 646 _mesa_LineWidth((GLfloat) (width / 65536.0f)); 647} 648 649void GL_APIENTRY 650_es_LoadMatrixx(const GLfixed *m) 651{ 652 unsigned int i; 653 GLfloat converted_m[16]; 654 655 for (i = 0; i < Elements(converted_m); i++) { 656 converted_m[i] = (GLfloat) (m[i] / 65536.0f); 657 } 658 659 _mesa_LoadMatrixf(converted_m); 660} 661 662void GL_APIENTRY 663_es_Materialx(GLenum face, GLenum pname, GLfixed param) 664{ 665 switch(face) { 666 case GL_FRONT_AND_BACK: 667 break; 668 default: 669 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 670 "glMaterialx(face=0x%x)", face); 671 return; 672 } 673 switch(pname) { 674 case GL_SHININESS: 675 break; 676 default: 677 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 678 "glMaterialx(pname=0x%x)", pname); 679 return; 680 } 681 682 _es_Materialf(face, pname, (GLfloat) (param / 65536.0f)); 683} 684 685void GL_APIENTRY 686_es_Materialxv(GLenum face, GLenum pname, const GLfixed *params) 687{ 688 unsigned int i; 689 unsigned int n_params = 4; 690 GLfloat converted_params[4]; 691 692 switch(face) { 693 case GL_FRONT_AND_BACK: 694 break; 695 default: 696 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 697 "glMaterialxv(face=0x%x)", face); 698 return; 699 } 700 switch(pname) { 701 case GL_AMBIENT: 702 case GL_DIFFUSE: 703 case GL_AMBIENT_AND_DIFFUSE: 704 case GL_SPECULAR: 705 case GL_EMISSION: 706 n_params = 4; 707 break; 708 case GL_SHININESS: 709 n_params = 1; 710 break; 711 default: 712 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 713 "glMaterialxv(pname=0x%x)", pname); 714 return; 715 } 716 717 for (i = 0; i < n_params; i++) { 718 converted_params[i] = (GLfloat) (params[i] / 65536.0f); 719 } 720 721 _es_Materialfv(face, pname, converted_params); 722} 723 724void GL_APIENTRY 725_es_MultMatrixx(const GLfixed *m) 726{ 727 unsigned int i; 728 GLfloat converted_m[16]; 729 730 for (i = 0; i < Elements(converted_m); i++) { 731 converted_m[i] = (GLfloat) (m[i] / 65536.0f); 732 } 733 734 _mesa_MultMatrixf(converted_m); 735} 736 737void GL_APIENTRY 738_es_MultiTexCoord4x(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q) 739{ 740 _es_MultiTexCoord4f(texture, 741 (GLfloat) (s / 65536.0f), 742 (GLfloat) (t / 65536.0f), 743 (GLfloat) (r / 65536.0f), 744 (GLfloat) (q / 65536.0f)); 745} 746 747void GL_APIENTRY 748_es_Normal3x(GLfixed nx, GLfixed ny, GLfixed nz) 749{ 750 _es_Normal3f((GLfloat) (nx / 65536.0f), 751 (GLfloat) (ny / 65536.0f), 752 (GLfloat) (nz / 65536.0f)); 753} 754 755void GL_APIENTRY 756_es_Orthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, 757 GLfloat zNear, GLfloat zFar) 758{ 759 _mesa_Ortho((GLdouble) (left), 760 (GLdouble) (right), 761 (GLdouble) (bottom), 762 (GLdouble) (top), 763 (GLdouble) (zNear), 764 (GLdouble) (zFar)); 765} 766 767void GL_APIENTRY 768_es_Orthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, 769 GLfixed zNear, GLfixed zFar) 770{ 771 _mesa_Ortho((GLdouble) (left / 65536.0), 772 (GLdouble) (right / 65536.0), 773 (GLdouble) (bottom / 65536.0), 774 (GLdouble) (top / 65536.0), 775 (GLdouble) (zNear / 65536.0), 776 (GLdouble) (zFar / 65536.0)); 777} 778 779void GL_APIENTRY 780_es_PointParameterx(GLenum pname, GLfixed param) 781{ 782 switch(pname) { 783 case GL_POINT_SIZE_MIN: 784 case GL_POINT_SIZE_MAX: 785 case GL_POINT_FADE_THRESHOLD_SIZE: 786 break; 787 default: 788 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 789 "glPointParameterx(pname=0x%x)", pname); 790 return; 791 } 792 793 _mesa_PointParameterf(pname, (GLfloat) (param / 65536.0f)); 794} 795 796void GL_APIENTRY 797_es_PointParameterxv(GLenum pname, const GLfixed *params) 798{ 799 unsigned int i; 800 unsigned int n_params = 3; 801 GLfloat converted_params[3]; 802 803 switch(pname) { 804 case GL_POINT_SIZE_MIN: 805 case GL_POINT_SIZE_MAX: 806 case GL_POINT_FADE_THRESHOLD_SIZE: 807 n_params = 1; 808 break; 809 case GL_POINT_DISTANCE_ATTENUATION: 810 n_params = 3; 811 break; 812 default: 813 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 814 "glPointParameterxv(pname=0x%x)", pname); 815 return; 816 } 817 818 for (i = 0; i < n_params; i++) { 819 converted_params[i] = (GLfloat) (params[i] / 65536.0f); 820 } 821 822 _mesa_PointParameterfv(pname, converted_params); 823} 824 825void GL_APIENTRY 826_es_PointSizex(GLfixed size) 827{ 828 _mesa_PointSize((GLfloat) (size / 65536.0f)); 829} 830 831void GL_APIENTRY 832_es_PolygonOffsetx(GLfixed factor, GLfixed units) 833{ 834 _mesa_PolygonOffset((GLfloat) (factor / 65536.0f), 835 (GLfloat) (units / 65536.0f)); 836} 837 838void GL_APIENTRY 839_es_Rotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) 840{ 841 _mesa_Rotatef((GLfloat) (angle / 65536.0f), 842 (GLfloat) (x / 65536.0f), 843 (GLfloat) (y / 65536.0f), 844 (GLfloat) (z / 65536.0f)); 845} 846 847void GL_APIENTRY 848_es_SampleCoveragex(GLclampx value, GLboolean invert) 849{ 850 _mesa_SampleCoverageARB((GLclampf) (value / 65536.0f), 851 invert); 852} 853 854void GL_APIENTRY 855_es_Scalex(GLfixed x, GLfixed y, GLfixed z) 856{ 857 _mesa_Scalef((GLfloat) (x / 65536.0f), 858 (GLfloat) (y / 65536.0f), 859 (GLfloat) (z / 65536.0f)); 860} 861 862void GL_APIENTRY 863_es_TexEnvx(GLenum target, GLenum pname, GLfixed param) 864{ 865 GLfloat converted_param; 866 bool convert_param_value = true; 867 868 switch(target) { 869 case GL_POINT_SPRITE: 870 if (pname != GL_COORD_REPLACE) { 871 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 872 "glTexEnvx(target=0x%x)", target); 873 return; 874 } 875 break; 876 case GL_TEXTURE_FILTER_CONTROL_EXT: 877 if (pname != GL_TEXTURE_LOD_BIAS_EXT) { 878 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 879 "glTexEnvx(target=0x%x)", target); 880 return; 881 } 882 break; 883 case GL_TEXTURE_ENV: 884 if (pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && 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 && pname != GL_TEXTURE_ENV_COLOR) { 885 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 886 "glTexEnvx(target=0x%x)", target); 887 return; 888 } 889 break; 890 default: 891 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 892 "glTexEnvx(target=0x%x)", target); 893 return; 894 } 895 switch(pname) { 896 case GL_COORD_REPLACE: 897 if (param != GL_TRUE && param != GL_FALSE) { 898 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 899 "glTexEnvx(pname=0x%x)", pname); 900 return; 901 } 902 convert_param_value = false; 903 break; 904 case GL_TEXTURE_LOD_BIAS_EXT: 905 break; 906 case GL_TEXTURE_ENV_MODE: 907 if (param != GL_REPLACE && param != GL_MODULATE && param != GL_DECAL && param != GL_BLEND && param != GL_ADD && param != GL_COMBINE) { 908 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 909 "glTexEnvx(pname=0x%x)", pname); 910 return; 911 } 912 convert_param_value = false; 913 break; 914 case GL_COMBINE_RGB: 915 if (param != GL_REPLACE && param != GL_MODULATE && param != GL_ADD && param != GL_ADD_SIGNED && param != GL_INTERPOLATE && param != GL_SUBTRACT && param != GL_DOT3_RGB && param != GL_DOT3_RGBA) { 916 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 917 "glTexEnvx(pname=0x%x)", pname); 918 return; 919 } 920 convert_param_value = false; 921 break; 922 case GL_COMBINE_ALPHA: 923 if (param != GL_REPLACE && param != GL_MODULATE && param != GL_ADD && param != GL_ADD_SIGNED && param != GL_INTERPOLATE && param != GL_SUBTRACT) { 924 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 925 "glTexEnvx(pname=0x%x)", pname); 926 return; 927 } 928 convert_param_value = false; 929 break; 930 case GL_RGB_SCALE: 931 case GL_ALPHA_SCALE: 932 break; 933 case GL_SRC0_RGB: 934 case GL_SRC1_RGB: 935 case GL_SRC2_RGB: 936 case GL_SRC0_ALPHA: 937 case GL_SRC1_ALPHA: 938 case GL_SRC2_ALPHA: 939 convert_param_value = false; 940 break; 941 case GL_OPERAND0_RGB: 942 case GL_OPERAND1_RGB: 943 case GL_OPERAND2_RGB: 944 if (param != GL_SRC_COLOR && param != GL_ONE_MINUS_SRC_COLOR && param != GL_SRC_ALPHA && param != GL_ONE_MINUS_SRC_ALPHA) { 945 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 946 "glTexEnvx(pname=0x%x)", pname); 947 return; 948 } 949 convert_param_value = false; 950 break; 951 case GL_OPERAND0_ALPHA: 952 case GL_OPERAND1_ALPHA: 953 case GL_OPERAND2_ALPHA: 954 if (param != GL_SRC_ALPHA && param != GL_ONE_MINUS_SRC_ALPHA) { 955 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 956 "glTexEnvx(pname=0x%x)", pname); 957 return; 958 } 959 convert_param_value = false; 960 break; 961 default: 962 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 963 "glTexEnvx(pname=0x%x)", pname); 964 return; 965 } 966 967 if (convert_param_value) { 968 converted_param = (GLfloat) (param / 65536.0f); 969 } else { 970 converted_param = (GLfloat) param; 971 } 972 973 _mesa_TexEnvf(target, pname, converted_param); 974} 975 976void GL_APIENTRY 977_es_TexEnvxv(GLenum target, GLenum pname, const GLfixed *params) 978{ 979 unsigned int i; 980 unsigned int n_params = 4; 981 GLfloat converted_params[4]; 982 bool convert_params_value = true; 983 984 switch(target) { 985 case GL_POINT_SPRITE: 986 if (pname != GL_COORD_REPLACE) { 987 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 988 "glTexEnvxv(target=0x%x)", target); 989 return; 990 } 991 break; 992 case GL_TEXTURE_FILTER_CONTROL_EXT: 993 if (pname != GL_TEXTURE_LOD_BIAS_EXT) { 994 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 995 "glTexEnvxv(target=0x%x)", target); 996 return; 997 } 998 break; 999 case GL_TEXTURE_ENV: 1000 if (pname != GL_TEXTURE_ENV_MODE && pname != GL_COMBINE_RGB && pname != GL_COMBINE_ALPHA && pname != GL_RGB_SCALE && pname != GL_ALPHA_SCALE && 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 && pname != GL_TEXTURE_ENV_COLOR) { 1001 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1002 "glTexEnvxv(target=0x%x)", target); 1003 return; 1004 } 1005 break; 1006 default: 1007 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1008 "glTexEnvxv(target=0x%x)", target); 1009 return; 1010 } 1011 switch(pname) { 1012 case GL_COORD_REPLACE: 1013 if (params[0] != GL_TRUE && params[0] != GL_FALSE) { 1014 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1015 "glTexEnvxv(pname=0x%x)", pname); 1016 return; 1017 } 1018 convert_params_value = false; 1019 n_params = 1; 1020 break; 1021 case GL_TEXTURE_LOD_BIAS_EXT: 1022 n_params = 1; 1023 break; 1024 case GL_TEXTURE_ENV_MODE: 1025 if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_DECAL && params[0] != GL_BLEND && params[0] != GL_ADD && params[0] != GL_COMBINE) { 1026 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1027 "glTexEnvxv(pname=0x%x)", pname); 1028 return; 1029 } 1030 convert_params_value = false; 1031 n_params = 1; 1032 break; 1033 case GL_COMBINE_RGB: 1034 if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_ADD && params[0] != GL_ADD_SIGNED && params[0] != GL_INTERPOLATE && params[0] != GL_SUBTRACT && params[0] != GL_DOT3_RGB && params[0] != GL_DOT3_RGBA) { 1035 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1036 "glTexEnvxv(pname=0x%x)", pname); 1037 return; 1038 } 1039 convert_params_value = false; 1040 n_params = 1; 1041 break; 1042 case GL_COMBINE_ALPHA: 1043 if (params[0] != GL_REPLACE && params[0] != GL_MODULATE && params[0] != GL_ADD && params[0] != GL_ADD_SIGNED && params[0] != GL_INTERPOLATE && params[0] != GL_SUBTRACT) { 1044 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1045 "glTexEnvxv(pname=0x%x)", pname); 1046 return; 1047 } 1048 convert_params_value = false; 1049 n_params = 1; 1050 break; 1051 case GL_RGB_SCALE: 1052 case GL_ALPHA_SCALE: 1053 break; 1054 case GL_SRC0_RGB: 1055 case GL_SRC1_RGB: 1056 case GL_SRC2_RGB: 1057 case GL_SRC0_ALPHA: 1058 case GL_SRC1_ALPHA: 1059 case GL_SRC2_ALPHA: 1060 convert_params_value = false; 1061 n_params = 1; 1062 break; 1063 case GL_OPERAND0_RGB: 1064 case GL_OPERAND1_RGB: 1065 case GL_OPERAND2_RGB: 1066 if (params[0] != GL_SRC_COLOR && params[0] != GL_ONE_MINUS_SRC_COLOR && params[0] != GL_SRC_ALPHA && params[0] != GL_ONE_MINUS_SRC_ALPHA) { 1067 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1068 "glTexEnvxv(pname=0x%x)", pname); 1069 return; 1070 } 1071 convert_params_value = false; 1072 n_params = 1; 1073 break; 1074 case GL_OPERAND0_ALPHA: 1075 case GL_OPERAND1_ALPHA: 1076 case GL_OPERAND2_ALPHA: 1077 if (params[0] != GL_SRC_ALPHA && params[0] != GL_ONE_MINUS_SRC_ALPHA) { 1078 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1079 "glTexEnvxv(pname=0x%x)", pname); 1080 return; 1081 } 1082 convert_params_value = false; 1083 n_params = 1; 1084 break; 1085 case GL_TEXTURE_ENV_COLOR: 1086 n_params = 4; 1087 break; 1088 default: 1089 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1090 "glTexEnvxv(pname=0x%x)", pname); 1091 return; 1092 } 1093 1094 if (convert_params_value) { 1095 for (i = 0; i < n_params; i++) { 1096 converted_params[i] = (GLfloat) (params[i] / 65536.0f); 1097 } 1098 } else { 1099 for (i = 0; i < n_params; i++) { 1100 converted_params[i] = (GLfloat) params[i]; 1101 } 1102 } 1103 1104 _mesa_TexEnvfv(target, pname, converted_params); 1105} 1106 1107void GL_APIENTRY 1108_check_TexGeniOES(GLenum coord, GLenum pname, GLint param) 1109{ 1110 switch(coord) { 1111 case GL_TEXTURE_GEN_STR_OES: 1112 break; 1113 default: 1114 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1115 "glTexGeniOES(coord=0x%x)", coord); 1116 return; 1117 } 1118 switch(pname) { 1119 case GL_TEXTURE_GEN_MODE: 1120 if (param != GL_NORMAL_MAP && param != GL_REFLECTION_MAP) { 1121 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1122 "glTexGeniOES(pname=0x%x)", pname); 1123 return; 1124 } 1125 break; 1126 default: 1127 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1128 "glTexGeniOES(pname=0x%x)", pname); 1129 return; 1130 } 1131 1132 _es_TexGenf(coord, pname, (GLfloat) param); 1133} 1134 1135void GL_APIENTRY 1136_check_TexGenivOES(GLenum coord, GLenum pname, const GLint *params) 1137{ 1138 unsigned int i; 1139 unsigned int n_params = 1; 1140 GLfloat converted_params[1]; 1141 1142 switch(coord) { 1143 case GL_TEXTURE_GEN_STR_OES: 1144 break; 1145 default: 1146 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1147 "glTexGenivOES(coord=0x%x)", coord); 1148 return; 1149 } 1150 switch(pname) { 1151 case GL_TEXTURE_GEN_MODE: 1152 if (params[0] != GL_NORMAL_MAP && params[0] != GL_REFLECTION_MAP) { 1153 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1154 "glTexGenivOES(pname=0x%x)", pname); 1155 return; 1156 } 1157 n_params = 1; 1158 break; 1159 default: 1160 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1161 "glTexGenivOES(pname=0x%x)", pname); 1162 return; 1163 } 1164 1165 for (i = 0; i < n_params; i++) { 1166 converted_params[i] = (GLfloat) params[i]; 1167 } 1168 1169 _es_TexGenfv(coord, pname, converted_params); 1170} 1171 1172void GL_APIENTRY 1173_check_TexGenxOES(GLenum coord, GLenum pname, GLfixed param) 1174{ 1175 switch(coord) { 1176 case GL_TEXTURE_GEN_STR_OES: 1177 break; 1178 default: 1179 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1180 "glTexGenxOES(coord=0x%x)", coord); 1181 return; 1182 } 1183 switch(pname) { 1184 case GL_TEXTURE_GEN_MODE: 1185 if (param != GL_NORMAL_MAP && param != GL_REFLECTION_MAP) { 1186 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1187 "glTexGenxOES(pname=0x%x)", pname); 1188 return; 1189 } 1190 break; 1191 default: 1192 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1193 "glTexGenxOES(pname=0x%x)", pname); 1194 return; 1195 } 1196 1197 _es_TexGenf(coord, pname, (GLfloat) param); 1198} 1199 1200void GL_APIENTRY 1201_check_TexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params) 1202{ 1203 unsigned int i; 1204 unsigned int n_params = 1; 1205 GLfloat converted_params[1]; 1206 1207 switch(coord) { 1208 case GL_TEXTURE_GEN_STR_OES: 1209 break; 1210 default: 1211 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1212 "glTexGenxvOES(coord=0x%x)", coord); 1213 return; 1214 } 1215 switch(pname) { 1216 case GL_TEXTURE_GEN_MODE: 1217 if (params[0] != GL_NORMAL_MAP && params[0] != GL_REFLECTION_MAP) { 1218 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1219 "glTexGenxvOES(pname=0x%x)", pname); 1220 return; 1221 } 1222 n_params = 1; 1223 break; 1224 default: 1225 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1226 "glTexGenxvOES(pname=0x%x)", pname); 1227 return; 1228 } 1229 1230 for (i = 0; i < n_params; i++) { 1231 converted_params[i] = (GLfloat) params[i]; 1232 } 1233 1234 _es_TexGenfv(coord, pname, converted_params); 1235} 1236 1237void GL_APIENTRY 1238_es_TexParameterx(GLenum target, GLenum pname, GLfixed param) 1239{ 1240 GLfloat converted_param; 1241 bool convert_param_value = true; 1242 1243 switch(pname) { 1244 case GL_TEXTURE_WRAP_S: 1245 case GL_TEXTURE_WRAP_T: 1246 convert_param_value = false; 1247 break; 1248 case GL_TEXTURE_MIN_FILTER: 1249 case GL_TEXTURE_MAG_FILTER: 1250 convert_param_value = false; 1251 break; 1252 case GL_GENERATE_MIPMAP: 1253 if (param != GL_TRUE && param != GL_FALSE) { 1254 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1255 "glTexParameterx(pname=0x%x)", pname); 1256 return; 1257 } 1258 convert_param_value = false; 1259 break; 1260 case GL_TEXTURE_MAX_ANISOTROPY_EXT: 1261 break; 1262 default: 1263 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1264 "glTexParameterx(pname=0x%x)", pname); 1265 return; 1266 } 1267 1268 if (convert_param_value) { 1269 converted_param = (GLfloat) (param / 65536.0f); 1270 } else { 1271 converted_param = (GLfloat) param; 1272 } 1273 1274 _mesa_TexParameterf(target, pname, converted_param); 1275} 1276 1277void GL_APIENTRY 1278_es_TexParameterxv(GLenum target, GLenum pname, const GLfixed *params) 1279{ 1280 unsigned int i; 1281 unsigned int n_params = 4; 1282 GLfloat converted_params[4]; 1283 bool convert_params_value = true; 1284 1285 switch(target) { 1286 case GL_TEXTURE_2D: 1287 case GL_TEXTURE_CUBE_MAP: 1288 case GL_TEXTURE_EXTERNAL_OES: 1289 break; 1290 default: 1291 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1292 "glTexParameterxv(target=0x%x)", target); 1293 return; 1294 } 1295 switch(pname) { 1296 case GL_TEXTURE_WRAP_S: 1297 case GL_TEXTURE_WRAP_T: 1298 convert_params_value = false; 1299 n_params = 1; 1300 break; 1301 case GL_TEXTURE_MIN_FILTER: 1302 case GL_TEXTURE_MAG_FILTER: 1303 convert_params_value = false; 1304 n_params = 1; 1305 break; 1306 case GL_GENERATE_MIPMAP: 1307 if (params[0] != GL_TRUE && params[0] != GL_FALSE) { 1308 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1309 "glTexParameterxv(pname=0x%x)", pname); 1310 return; 1311 } 1312 convert_params_value = false; 1313 n_params = 1; 1314 break; 1315 case GL_TEXTURE_MAX_ANISOTROPY_EXT: 1316 n_params = 1; 1317 break; 1318 case GL_TEXTURE_CROP_RECT_OES: 1319 n_params = 4; 1320 break; 1321 default: 1322 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM, 1323 "glTexParameterxv(pname=0x%x)", pname); 1324 return; 1325 } 1326 1327 if (convert_params_value) { 1328 for (i = 0; i < n_params; i++) { 1329 converted_params[i] = (GLfloat) (params[i] / 65536.0f); 1330 } 1331 } else { 1332 for (i = 0; i < n_params; i++) { 1333 converted_params[i] = (GLfloat) params[i]; 1334 } 1335 } 1336 1337 _mesa_TexParameterfv(target, pname, converted_params); 1338} 1339 1340void GL_APIENTRY 1341_es_Translatex(GLfixed x, GLfixed y, GLfixed z) 1342{ 1343 _mesa_Translatef((GLfloat) (x / 65536.0f), 1344 (GLfloat) (y / 65536.0f), 1345 (GLfloat) (z / 65536.0f)); 1346} 1347 1348#endif /* FEATURE_ES1 */ 1349