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
)
679 _mesa_PointParameterf(pname
, (GLfloat
) (param
/ 65536.0f
));
683 _es_PointParameterxv(GLenum pname
, const GLfixed
*params
)
686 unsigned int n_params
= 3;
687 GLfloat converted_params
[3];
690 case GL_POINT_SIZE_MIN
:
691 case GL_POINT_SIZE_MAX
:
692 case GL_POINT_FADE_THRESHOLD_SIZE
:
695 case GL_POINT_DISTANCE_ATTENUATION
:
699 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
700 "glPointParameterxv(pname=0x%x)", pname
);
704 for (i
= 0; i
< n_params
; i
++) {
705 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
708 _mesa_PointParameterfv(pname
, converted_params
);
712 _es_PointSizex(GLfixed size
)
714 _mesa_PointSize((GLfloat
) (size
/ 65536.0f
));
718 _es_PolygonOffsetx(GLfixed factor
, GLfixed units
)
720 _mesa_PolygonOffset((GLfloat
) (factor
/ 65536.0f
),
721 (GLfloat
) (units
/ 65536.0f
));
725 _es_Rotatex(GLfixed angle
, GLfixed x
, GLfixed y
, GLfixed z
)
727 _mesa_Rotatef((GLfloat
) (angle
/ 65536.0f
),
728 (GLfloat
) (x
/ 65536.0f
),
729 (GLfloat
) (y
/ 65536.0f
),
730 (GLfloat
) (z
/ 65536.0f
));
734 _es_SampleCoveragex(GLclampx value
, GLboolean invert
)
736 _mesa_SampleCoverageARB((GLclampf
) (value
/ 65536.0f
),
741 _es_Scalex(GLfixed x
, GLfixed y
, GLfixed z
)
743 _mesa_Scalef((GLfloat
) (x
/ 65536.0f
),
744 (GLfloat
) (y
/ 65536.0f
),
745 (GLfloat
) (z
/ 65536.0f
));
749 _es_TexEnvx(GLenum target
, GLenum pname
, GLfixed param
)
752 case GL_POINT_SPRITE
:
753 case GL_TEXTURE_FILTER_CONTROL_EXT
:
757 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
758 "glTexEnvx(target=0x%x)", target
);
763 case GL_COORD_REPLACE
:
764 case GL_TEXTURE_ENV_MODE
:
766 case GL_COMBINE_ALPHA
:
773 case GL_OPERAND0_RGB
:
774 case GL_OPERAND1_RGB
:
775 case GL_OPERAND2_RGB
:
776 case GL_OPERAND0_ALPHA
:
777 case GL_OPERAND1_ALPHA
:
778 case GL_OPERAND2_ALPHA
:
779 _mesa_TexEnvf(target
, pname
, (GLfloat
) param
);
781 case GL_TEXTURE_LOD_BIAS_EXT
:
784 _mesa_TexEnvf(target
, pname
, (GLfloat
) (param
/ 65536.0f
));
787 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
788 "glTexEnvx(pname=0x%x)", pname
);
794 _es_TexEnvxv(GLenum target
, GLenum pname
, const GLfixed
*params
)
797 case GL_POINT_SPRITE
:
798 case GL_TEXTURE_FILTER_CONTROL_EXT
:
802 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
803 "glTexEnvxv(target=0x%x)", target
);
808 case GL_COORD_REPLACE
:
809 case GL_TEXTURE_ENV_MODE
:
811 case GL_COMBINE_ALPHA
:
818 case GL_OPERAND0_RGB
:
819 case GL_OPERAND1_RGB
:
820 case GL_OPERAND2_RGB
:
821 case GL_OPERAND0_ALPHA
:
822 case GL_OPERAND1_ALPHA
:
823 case GL_OPERAND2_ALPHA
:
824 _mesa_TexEnvf(target
, pname
, (GLfloat
) params
[0]);
826 case GL_TEXTURE_LOD_BIAS_EXT
:
829 _mesa_TexEnvf(target
, pname
, (GLfloat
) (params
[0] / 65536.0f
));
831 case GL_TEXTURE_ENV_COLOR
: {
833 GLfloat converted_params
[4];
835 for (i
= 0; i
< Elements(converted_params
); i
++) {
836 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
839 _mesa_TexEnvfv(target
, pname
, converted_params
);
843 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
844 "glTexEnvxv(pname=0x%x)", pname
);
850 _check_TexGeniOES(GLenum coord
, GLenum pname
, GLint param
)
852 _es_TexGenf(coord
, pname
, (GLfloat
) param
);
856 _check_TexGenivOES(GLenum coord
, GLenum pname
, const GLint
*params
)
858 _es_TexGenf(coord
, pname
, (GLfloat
) params
[0]);
862 _check_TexGenxOES(GLenum coord
, GLenum pname
, GLfixed param
)
864 _es_TexGenf(coord
, pname
, (GLfloat
) param
);
868 _check_TexGenxvOES(GLenum coord
, GLenum pname
, const GLfixed
*params
)
870 _es_TexGenf(coord
, pname
, (GLfloat
) params
[0]);
874 _es_TexParameterx(GLenum target
, GLenum pname
, GLfixed param
)
876 if (pname
== GL_TEXTURE_MAX_ANISOTROPY_EXT
) {
877 _mesa_TexParameterf(target
, pname
, (GLfloat
) (param
/ 65536.0f
));
879 _mesa_TexParameterf(target
, pname
, (GLfloat
) param
);
884 _es_TexParameterxv(GLenum target
, GLenum pname
, const GLfixed
*params
)
887 unsigned int n_params
= 4;
888 GLfloat converted_params
[4];
889 bool convert_params_value
= true;
893 case GL_TEXTURE_CUBE_MAP
:
894 case GL_TEXTURE_EXTERNAL_OES
:
897 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
898 "glTexParameterxv(target=0x%x)", target
);
902 case GL_TEXTURE_WRAP_S
:
903 case GL_TEXTURE_WRAP_T
:
904 convert_params_value
= false;
907 case GL_TEXTURE_MIN_FILTER
:
908 case GL_TEXTURE_MAG_FILTER
:
909 case GL_GENERATE_MIPMAP
:
910 convert_params_value
= false;
913 case GL_TEXTURE_MAX_ANISOTROPY_EXT
:
916 case GL_TEXTURE_CROP_RECT_OES
:
920 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
921 "glTexParameterxv(pname=0x%x)", pname
);
925 if (convert_params_value
) {
926 for (i
= 0; i
< n_params
; i
++) {
927 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
930 for (i
= 0; i
< n_params
; i
++) {
931 converted_params
[i
] = (GLfloat
) params
[i
];
935 _mesa_TexParameterfv(target
, pname
, converted_params
);
939 _es_Translatex(GLfixed x
, GLfixed y
, GLfixed z
)
941 _mesa_Translatef((GLfloat
) (x
/ 65536.0f
),
942 (GLfloat
) (y
/ 65536.0f
),
943 (GLfloat
) (z
/ 65536.0f
));
946 #endif /* FEATURE_ES1 */