2 #include "main/mfeatures.h"
6 #include "api_loopback.h"
18 #include "multisample.h"
19 #include "pixelstore.h"
29 #include "main/drawtex.h"
33 #define GL_APIENTRY GLAPIENTRY
36 #include "main/es1_conversion.h"
39 _es_AlphaFuncx(GLenum func
, GLclampx ref
)
41 _mesa_AlphaFunc(func
, (GLclampf
) (ref
/ 65536.0f
));
45 _es_ClearColorx(GLclampx red
, GLclampx green
, GLclampx blue
, GLclampx alpha
)
47 _mesa_ClearColor((GLclampf
) (red
/ 65536.0f
),
48 (GLclampf
) (green
/ 65536.0f
),
49 (GLclampf
) (blue
/ 65536.0f
),
50 (GLclampf
) (alpha
/ 65536.0f
));
54 _es_ClearDepthx(GLclampx depth
)
56 _mesa_ClearDepthf((GLclampf
) (depth
/ 65536.0f
));
60 _es_ClipPlanef(GLenum plane
, const GLfloat
*equation
)
63 GLdouble converted_equation
[4];
65 for (i
= 0; i
< Elements(converted_equation
); i
++) {
66 converted_equation
[i
] = (GLdouble
) (equation
[i
]);
69 _mesa_ClipPlane(plane
, converted_equation
);
73 _es_ClipPlanex(GLenum plane
, const GLfixed
*equation
)
76 GLdouble converted_equation
[4];
78 for (i
= 0; i
< Elements(converted_equation
); i
++) {
79 converted_equation
[i
] = (GLdouble
) (equation
[i
] / 65536.0);
82 _mesa_ClipPlane(plane
, converted_equation
);
86 _es_Color4ub(GLubyte red
, GLubyte green
, GLubyte blue
, GLubyte alpha
)
88 _es_Color4f((GLfloat
) (red
/ 255.0f
),
89 (GLfloat
) (green
/ 255.0f
),
90 (GLfloat
) (blue
/ 255.0f
),
91 (GLfloat
) (alpha
/ 255.0f
));
95 _es_Color4x(GLfixed red
, GLfixed green
, GLfixed blue
, GLfixed alpha
)
97 _es_Color4f((GLfloat
) (red
/ 65536.0f
),
98 (GLfloat
) (green
/ 65536.0f
),
99 (GLfloat
) (blue
/ 65536.0f
),
100 (GLfloat
) (alpha
/ 65536.0f
));
104 _es_DepthRangex(GLclampx zNear
, GLclampx zFar
)
106 _mesa_DepthRangef((GLclampf
) (zNear
/ 65536.0f
),
107 (GLclampf
) (zFar
/ 65536.0f
));
111 _es_DrawTexxOES(GLfixed x
, GLfixed y
, GLfixed z
, GLfixed w
, GLfixed h
)
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
));
122 _es_DrawTexxvOES(const GLfixed
*coords
)
125 GLfloat converted_coords
[5];
127 for (i
= 0; i
< Elements(converted_coords
); i
++) {
128 converted_coords
[i
] = (GLfloat
) (coords
[i
] / 65536.0f
);
131 _mesa_DrawTexfv(converted_coords
);
135 _es_Fogx(GLenum pname
, GLfixed param
)
137 if (pname
!= GL_FOG_MODE
) {
138 _mesa_Fogf(pname
, (GLfloat
) (param
/ 65536.0f
));
140 _mesa_Fogf(pname
, (GLfloat
) param
);
146 _es_Fogxv(GLenum pname
, const GLfixed
*params
)
149 unsigned int n_params
= 4;
150 GLfloat converted_params
[4];
151 bool convert_params_value
= true;
155 convert_params_value
= false;
167 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
168 "glFogxv(pname=0x%x)", pname
);
172 if (convert_params_value
) {
173 for (i
= 0; i
< n_params
; i
++) {
174 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
177 for (i
= 0; i
< n_params
; i
++) {
178 converted_params
[i
] = (GLfloat
) params
[i
];
182 _mesa_Fogfv(pname
, converted_params
);
186 _es_Frustumf(GLfloat left
, GLfloat right
, GLfloat bottom
, GLfloat top
,
187 GLfloat zNear
, GLfloat zFar
)
189 _mesa_Frustum((GLdouble
) (left
),
198 _es_Frustumx(GLfixed left
, GLfixed right
, GLfixed bottom
, GLfixed top
,
199 GLfixed zNear
, GLfixed zFar
)
201 _mesa_Frustum((GLdouble
) (left
/ 65536.0),
202 (GLdouble
) (right
/ 65536.0),
203 (GLdouble
) (bottom
/ 65536.0),
204 (GLdouble
) (top
/ 65536.0),
205 (GLdouble
) (zNear
/ 65536.0),
206 (GLdouble
) (zFar
/ 65536.0));
210 _es_GetClipPlanef(GLenum plane
, GLfloat
*equation
)
213 GLdouble converted_equation
[4];
215 _mesa_GetClipPlane(plane
, converted_equation
);
216 for (i
= 0; i
< Elements(converted_equation
); i
++) {
217 equation
[i
] = (GLfloat
) (converted_equation
[i
]);
222 _es_GetClipPlanex(GLenum plane
, GLfixed
*equation
)
225 GLdouble converted_equation
[4];
227 _mesa_GetClipPlane(plane
, converted_equation
);
228 for (i
= 0; i
< Elements(converted_equation
); i
++) {
229 equation
[i
] = (GLfixed
) (converted_equation
[i
] * 65536);
234 _es_GetLightxv(GLenum light
, GLenum pname
, GLfixed
*params
)
237 unsigned int n_params
= 4;
238 GLfloat converted_params
[4];
240 if (light
< GL_LIGHT0
|| light
> GL_LIGHT7
) {
241 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
242 "glGetLightxv(light=0x%x)", light
);
252 case GL_SPOT_DIRECTION
:
255 case GL_SPOT_EXPONENT
:
257 case GL_CONSTANT_ATTENUATION
:
258 case GL_LINEAR_ATTENUATION
:
259 case GL_QUADRATIC_ATTENUATION
:
263 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
264 "glGetLightxv(pname=0x%x)", pname
);
268 _mesa_GetLightfv(light
, pname
, converted_params
);
269 for (i
= 0; i
< n_params
; i
++) {
270 params
[i
] = (GLint
) (converted_params
[i
] * 65536);
275 _es_GetMaterialxv(GLenum face
, GLenum pname
, GLfixed
*params
)
278 unsigned int n_params
= 4;
279 GLfloat converted_params
[4];
286 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
287 "glGetMaterialxv(face=0x%x)", face
);
301 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
302 "glGetMaterialxv(pname=0x%x)", pname
);
306 _mesa_GetMaterialfv(face
, pname
, converted_params
);
307 for (i
= 0; i
< n_params
; i
++) {
308 params
[i
] = (GLint
) (converted_params
[i
] * 65536);
313 _es_GetTexEnvxv(GLenum target
, GLenum pname
, GLfixed
*params
)
316 unsigned int n_params
= 4;
317 GLfloat converted_params
[4];
318 bool convert_params_value
= true;
321 case GL_POINT_SPRITE
:
322 if (pname
!= GL_COORD_REPLACE
) {
323 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
324 "glGetTexEnvxv(target=0x%x)", target
);
328 case GL_TEXTURE_FILTER_CONTROL_EXT
:
329 if (pname
!= GL_TEXTURE_LOD_BIAS_EXT
) {
330 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
331 "glGetTexEnvxv(target=0x%x)", target
);
336 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
) {
337 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
338 "glGetTexEnvxv(target=0x%x)", target
);
343 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
344 "glGetTexEnvxv(target=0x%x)", target
);
348 case GL_COORD_REPLACE
:
349 convert_params_value
= false;
352 case GL_TEXTURE_LOD_BIAS_EXT
:
355 case GL_TEXTURE_ENV_COLOR
:
362 case GL_TEXTURE_ENV_MODE
:
364 case GL_COMBINE_ALPHA
:
371 case GL_OPERAND0_RGB
:
372 case GL_OPERAND1_RGB
:
373 case GL_OPERAND2_RGB
:
374 case GL_OPERAND0_ALPHA
:
375 case GL_OPERAND1_ALPHA
:
376 case GL_OPERAND2_ALPHA
:
377 convert_params_value
= false;
381 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
382 "glGetTexEnvxv(pname=0x%x)", pname
);
386 _mesa_GetTexEnvfv(target
, pname
, converted_params
);
387 if (convert_params_value
) {
388 for (i
= 0; i
< n_params
; i
++) {
389 params
[i
] = (GLint
) (converted_params
[i
] * 65536);
392 for (i
= 0; i
< n_params
; i
++) {
393 params
[i
] = (GLfixed
) converted_params
[i
];
399 _check_GetTexGenivOES(GLenum coord
, GLenum pname
, GLint
*params
)
401 _mesa_GetTexGeniv(coord
, pname
, params
);
405 _check_GetTexGenxvOES(GLenum coord
, GLenum pname
, GLfixed
*params
)
407 _mesa_GetTexGeniv(coord
, pname
, (GLint
*) params
);
411 _es_GetTexParameterxv(GLenum target
, GLenum pname
, GLfixed
*params
)
414 unsigned int n_params
= 4;
415 GLfloat converted_params
[4];
416 bool convert_params_value
= true;
420 case GL_TEXTURE_CUBE_MAP
:
421 case GL_TEXTURE_EXTERNAL_OES
:
424 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
425 "glGetTexParameterxv(target=0x%x)", target
);
429 case GL_TEXTURE_WRAP_S
:
430 case GL_TEXTURE_WRAP_T
:
431 case GL_TEXTURE_MIN_FILTER
:
432 case GL_TEXTURE_MAG_FILTER
:
433 case GL_GENERATE_MIPMAP
:
434 convert_params_value
= false;
437 case GL_TEXTURE_CROP_RECT_OES
:
441 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
442 "glGetTexParameterxv(pname=0x%x)", pname
);
446 _mesa_GetTexParameterfv(target
, pname
, converted_params
);
447 if (convert_params_value
) {
448 for (i
= 0; i
< n_params
; i
++) {
449 params
[i
] = (GLint
) (converted_params
[i
] * 65536);
452 for (i
= 0; i
< n_params
; i
++) {
453 params
[i
] = (GLfixed
) converted_params
[i
];
459 _es_LightModelx(GLenum pname
, GLfixed param
)
461 _mesa_LightModelf(pname
, (GLfloat
) param
);
465 _es_LightModelxv(GLenum pname
, const GLfixed
*params
)
468 unsigned int n_params
= 4;
469 GLfloat converted_params
[4];
470 bool convert_params_value
= true;
473 case GL_LIGHT_MODEL_AMBIENT
:
476 case GL_LIGHT_MODEL_TWO_SIDE
:
477 convert_params_value
= false;
481 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
482 "glLightModelxv(pname=0x%x)", pname
);
486 if (convert_params_value
) {
487 for (i
= 0; i
< n_params
; i
++) {
488 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
491 for (i
= 0; i
< n_params
; i
++) {
492 converted_params
[i
] = (GLfloat
) params
[i
];
496 _mesa_LightModelfv(pname
, converted_params
);
500 _es_Lightx(GLenum light
, GLenum pname
, GLfixed param
)
502 _mesa_Lightf(light
, pname
, (GLfloat
) (param
/ 65536.0f
));
506 _es_Lightxv(GLenum light
, GLenum pname
, const GLfixed
*params
)
509 unsigned int n_params
= 4;
510 GLfloat converted_params
[4];
512 if (light
< GL_LIGHT0
|| light
> GL_LIGHT7
) {
513 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
514 "glLightxv(light=0x%x)", light
);
524 case GL_SPOT_DIRECTION
:
527 case GL_SPOT_EXPONENT
:
529 case GL_CONSTANT_ATTENUATION
:
530 case GL_LINEAR_ATTENUATION
:
531 case GL_QUADRATIC_ATTENUATION
:
535 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
536 "glLightxv(pname=0x%x)", pname
);
540 for (i
= 0; i
< n_params
; i
++) {
541 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
544 _mesa_Lightfv(light
, pname
, converted_params
);
548 _es_LineWidthx(GLfixed width
)
550 _mesa_LineWidth((GLfloat
) (width
/ 65536.0f
));
554 _es_LoadMatrixx(const GLfixed
*m
)
557 GLfloat converted_m
[16];
559 for (i
= 0; i
< Elements(converted_m
); i
++) {
560 converted_m
[i
] = (GLfloat
) (m
[i
] / 65536.0f
);
563 _mesa_LoadMatrixf(converted_m
);
567 _es_Materialx(GLenum face
, GLenum pname
, GLfixed param
)
569 if (face
!= GL_FRONT_AND_BACK
) {
570 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
571 "glMaterialx(face=0x%x)", face
);
575 if (pname
!= GL_SHININESS
) {
576 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
577 "glMaterialx(pname=0x%x)", pname
);
581 _es_Materialf(face
, pname
, (GLfloat
) (param
/ 65536.0f
));
585 _es_Materialxv(GLenum face
, GLenum pname
, const GLfixed
*params
)
588 unsigned int n_params
= 4;
589 GLfloat converted_params
[4];
591 if (face
!= GL_FRONT_AND_BACK
) {
592 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
593 "glMaterialxv(face=0x%x)", face
);
600 case GL_AMBIENT_AND_DIFFUSE
:
609 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
610 "glMaterialxv(pname=0x%x)", pname
);
614 for (i
= 0; i
< n_params
; i
++) {
615 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
618 _es_Materialfv(face
, pname
, converted_params
);
622 _es_MultMatrixx(const GLfixed
*m
)
625 GLfloat converted_m
[16];
627 for (i
= 0; i
< Elements(converted_m
); i
++) {
628 converted_m
[i
] = (GLfloat
) (m
[i
] / 65536.0f
);
631 _mesa_MultMatrixf(converted_m
);
635 _es_MultiTexCoord4x(GLenum texture
, GLfixed s
, GLfixed t
, GLfixed r
, GLfixed q
)
637 _es_MultiTexCoord4f(texture
,
638 (GLfloat
) (s
/ 65536.0f
),
639 (GLfloat
) (t
/ 65536.0f
),
640 (GLfloat
) (r
/ 65536.0f
),
641 (GLfloat
) (q
/ 65536.0f
));
645 _es_Normal3x(GLfixed nx
, GLfixed ny
, GLfixed nz
)
647 _es_Normal3f((GLfloat
) (nx
/ 65536.0f
),
648 (GLfloat
) (ny
/ 65536.0f
),
649 (GLfloat
) (nz
/ 65536.0f
));
653 _es_Orthof(GLfloat left
, GLfloat right
, GLfloat bottom
, GLfloat top
,
654 GLfloat zNear
, GLfloat zFar
)
656 _mesa_Ortho((GLdouble
) (left
),
665 _es_Orthox(GLfixed left
, GLfixed right
, GLfixed bottom
, GLfixed top
,
666 GLfixed zNear
, GLfixed zFar
)
668 _mesa_Ortho((GLdouble
) (left
/ 65536.0),
669 (GLdouble
) (right
/ 65536.0),
670 (GLdouble
) (bottom
/ 65536.0),
671 (GLdouble
) (top
/ 65536.0),
672 (GLdouble
) (zNear
/ 65536.0),
673 (GLdouble
) (zFar
/ 65536.0));
677 _es_PointParameterx(GLenum pname
, GLfixed param
)
680 case GL_POINT_SIZE_MIN
:
681 case GL_POINT_SIZE_MAX
:
682 case GL_POINT_FADE_THRESHOLD_SIZE
:
685 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
686 "glPointParameterx(pname=0x%x)", pname
);
690 _mesa_PointParameterf(pname
, (GLfloat
) (param
/ 65536.0f
));
694 _es_PointParameterxv(GLenum pname
, const GLfixed
*params
)
697 unsigned int n_params
= 3;
698 GLfloat converted_params
[3];
701 case GL_POINT_SIZE_MIN
:
702 case GL_POINT_SIZE_MAX
:
703 case GL_POINT_FADE_THRESHOLD_SIZE
:
706 case GL_POINT_DISTANCE_ATTENUATION
:
710 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
711 "glPointParameterxv(pname=0x%x)", pname
);
715 for (i
= 0; i
< n_params
; i
++) {
716 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
719 _mesa_PointParameterfv(pname
, converted_params
);
723 _es_PointSizex(GLfixed size
)
725 _mesa_PointSize((GLfloat
) (size
/ 65536.0f
));
729 _es_PolygonOffsetx(GLfixed factor
, GLfixed units
)
731 _mesa_PolygonOffset((GLfloat
) (factor
/ 65536.0f
),
732 (GLfloat
) (units
/ 65536.0f
));
736 _es_Rotatex(GLfixed angle
, GLfixed x
, GLfixed y
, GLfixed z
)
738 _mesa_Rotatef((GLfloat
) (angle
/ 65536.0f
),
739 (GLfloat
) (x
/ 65536.0f
),
740 (GLfloat
) (y
/ 65536.0f
),
741 (GLfloat
) (z
/ 65536.0f
));
745 _es_SampleCoveragex(GLclampx value
, GLboolean invert
)
747 _mesa_SampleCoverageARB((GLclampf
) (value
/ 65536.0f
),
752 _es_Scalex(GLfixed x
, GLfixed y
, GLfixed z
)
754 _mesa_Scalef((GLfloat
) (x
/ 65536.0f
),
755 (GLfloat
) (y
/ 65536.0f
),
756 (GLfloat
) (z
/ 65536.0f
));
760 _es_TexEnvx(GLenum target
, GLenum pname
, GLfixed param
)
763 case GL_POINT_SPRITE
:
764 case GL_TEXTURE_FILTER_CONTROL_EXT
:
768 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
769 "glTexEnvx(target=0x%x)", target
);
774 case GL_COORD_REPLACE
:
775 case GL_TEXTURE_ENV_MODE
:
777 case GL_COMBINE_ALPHA
:
784 case GL_OPERAND0_RGB
:
785 case GL_OPERAND1_RGB
:
786 case GL_OPERAND2_RGB
:
787 case GL_OPERAND0_ALPHA
:
788 case GL_OPERAND1_ALPHA
:
789 case GL_OPERAND2_ALPHA
:
790 _mesa_TexEnvf(target
, pname
, (GLfloat
) param
);
792 case GL_TEXTURE_LOD_BIAS_EXT
:
795 _mesa_TexEnvf(target
, pname
, (GLfloat
) (param
/ 65536.0f
));
798 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
799 "glTexEnvx(pname=0x%x)", pname
);
805 _es_TexEnvxv(GLenum target
, GLenum pname
, const GLfixed
*params
)
808 case GL_POINT_SPRITE
:
809 case GL_TEXTURE_FILTER_CONTROL_EXT
:
813 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
814 "glTexEnvxv(target=0x%x)", target
);
819 case GL_COORD_REPLACE
:
820 case GL_TEXTURE_ENV_MODE
:
822 case GL_COMBINE_ALPHA
:
829 case GL_OPERAND0_RGB
:
830 case GL_OPERAND1_RGB
:
831 case GL_OPERAND2_RGB
:
832 case GL_OPERAND0_ALPHA
:
833 case GL_OPERAND1_ALPHA
:
834 case GL_OPERAND2_ALPHA
:
835 _mesa_TexEnvf(target
, pname
, (GLfloat
) params
[0]);
837 case GL_TEXTURE_LOD_BIAS_EXT
:
840 _mesa_TexEnvf(target
, pname
, (GLfloat
) (params
[0] / 65536.0f
));
842 case GL_TEXTURE_ENV_COLOR
: {
844 GLfloat converted_params
[4];
846 for (i
= 0; i
< Elements(converted_params
); i
++) {
847 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
850 _mesa_TexEnvfv(target
, pname
, converted_params
);
854 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
855 "glTexEnvxv(pname=0x%x)", pname
);
861 _check_TexGeniOES(GLenum coord
, GLenum pname
, GLint param
)
863 _es_TexGenf(coord
, pname
, (GLfloat
) param
);
867 _check_TexGenivOES(GLenum coord
, GLenum pname
, const GLint
*params
)
869 _es_TexGenf(coord
, pname
, (GLfloat
) params
[0]);
873 _check_TexGenxOES(GLenum coord
, GLenum pname
, GLfixed param
)
875 _es_TexGenf(coord
, pname
, (GLfloat
) param
);
879 _check_TexGenxvOES(GLenum coord
, GLenum pname
, const GLfixed
*params
)
881 _es_TexGenf(coord
, pname
, (GLfloat
) params
[0]);
885 _es_TexParameterx(GLenum target
, GLenum pname
, GLfixed param
)
887 if (pname
== GL_TEXTURE_MAX_ANISOTROPY_EXT
) {
888 _mesa_TexParameterf(target
, pname
, (GLfloat
) (param
/ 65536.0f
));
890 _mesa_TexParameterf(target
, pname
, (GLfloat
) param
);
895 _es_TexParameterxv(GLenum target
, GLenum pname
, const GLfixed
*params
)
898 unsigned int n_params
= 4;
899 GLfloat converted_params
[4];
900 bool convert_params_value
= true;
904 case GL_TEXTURE_CUBE_MAP
:
905 case GL_TEXTURE_EXTERNAL_OES
:
908 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
909 "glTexParameterxv(target=0x%x)", target
);
913 case GL_TEXTURE_WRAP_S
:
914 case GL_TEXTURE_WRAP_T
:
915 convert_params_value
= false;
918 case GL_TEXTURE_MIN_FILTER
:
919 case GL_TEXTURE_MAG_FILTER
:
920 case GL_GENERATE_MIPMAP
:
921 convert_params_value
= false;
924 case GL_TEXTURE_MAX_ANISOTROPY_EXT
:
927 case GL_TEXTURE_CROP_RECT_OES
:
931 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
932 "glTexParameterxv(pname=0x%x)", pname
);
936 if (convert_params_value
) {
937 for (i
= 0; i
< n_params
; i
++) {
938 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
941 for (i
= 0; i
< n_params
; i
++) {
942 converted_params
[i
] = (GLfloat
) params
[i
];
946 _mesa_TexParameterfv(target
, pname
, converted_params
);
950 _es_Translatex(GLfixed x
, GLfixed y
, GLfixed z
)
952 _mesa_Translatef((GLfloat
) (x
/ 65536.0f
),
953 (GLfloat
) (y
/ 65536.0f
),
954 (GLfloat
) (z
/ 65536.0f
));
957 #endif /* FEATURE_ES1 */