3 #include "api_loopback.h"
15 #include "multisample.h"
16 #include "pixelstore.h"
26 #include "main/drawtex.h"
29 #include "main/es1_conversion.h"
32 _mesa_AlphaFuncx(GLenum func
, GLclampx ref
)
34 _mesa_AlphaFunc(func
, (GLclampf
) (ref
/ 65536.0f
));
38 _mesa_ClearColorx(GLclampx red
, GLclampx green
, GLclampx blue
, GLclampx alpha
)
40 _mesa_ClearColor((GLclampf
) (red
/ 65536.0f
),
41 (GLclampf
) (green
/ 65536.0f
),
42 (GLclampf
) (blue
/ 65536.0f
),
43 (GLclampf
) (alpha
/ 65536.0f
));
47 _mesa_ClearDepthx(GLclampx depth
)
49 _mesa_ClearDepthf((GLclampf
) (depth
/ 65536.0f
));
53 _mesa_ClipPlanef(GLenum plane
, const GLfloat
*equation
)
56 GLdouble converted_equation
[4];
58 for (i
= 0; i
< Elements(converted_equation
); i
++) {
59 converted_equation
[i
] = (GLdouble
) (equation
[i
]);
62 _mesa_ClipPlane(plane
, converted_equation
);
66 _mesa_ClipPlanex(GLenum plane
, const GLfixed
*equation
)
69 GLdouble converted_equation
[4];
71 for (i
= 0; i
< Elements(converted_equation
); i
++) {
72 converted_equation
[i
] = (GLdouble
) (equation
[i
] / 65536.0);
75 _mesa_ClipPlane(plane
, converted_equation
);
79 _es_Color4ub(GLubyte red
, GLubyte green
, GLubyte blue
, GLubyte alpha
)
81 _es_Color4f((GLfloat
) (red
/ 255.0f
),
82 (GLfloat
) (green
/ 255.0f
),
83 (GLfloat
) (blue
/ 255.0f
),
84 (GLfloat
) (alpha
/ 255.0f
));
88 _mesa_Color4x(GLfixed red
, GLfixed green
, GLfixed blue
, GLfixed alpha
)
90 _es_Color4f((GLfloat
) (red
/ 65536.0f
),
91 (GLfloat
) (green
/ 65536.0f
),
92 (GLfloat
) (blue
/ 65536.0f
),
93 (GLfloat
) (alpha
/ 65536.0f
));
97 _mesa_DepthRangex(GLclampx zNear
, GLclampx zFar
)
99 _mesa_DepthRangef((GLclampf
) (zNear
/ 65536.0f
),
100 (GLclampf
) (zFar
/ 65536.0f
));
104 _mesa_DrawTexxOES(GLfixed x
, GLfixed y
, GLfixed z
, GLfixed w
, GLfixed h
)
107 _mesa_DrawTexfOES((GLfloat
) (x
/ 65536.0f
),
108 (GLfloat
) (y
/ 65536.0f
),
109 (GLfloat
) (z
/ 65536.0f
),
110 (GLfloat
) (w
/ 65536.0f
),
111 (GLfloat
) (h
/ 65536.0f
));
115 _mesa_DrawTexxvOES(const GLfixed
*coords
)
118 GLfloat converted_coords
[5];
120 for (i
= 0; i
< Elements(converted_coords
); i
++) {
121 converted_coords
[i
] = (GLfloat
) (coords
[i
] / 65536.0f
);
124 _mesa_DrawTexfvOES(converted_coords
);
128 _mesa_Fogx(GLenum pname
, GLfixed param
)
130 if (pname
!= GL_FOG_MODE
) {
131 _mesa_Fogf(pname
, (GLfloat
) (param
/ 65536.0f
));
133 _mesa_Fogf(pname
, (GLfloat
) param
);
139 _mesa_Fogxv(GLenum pname
, const GLfixed
*params
)
142 unsigned int n_params
= 4;
143 GLfloat converted_params
[4];
144 bool convert_params_value
= true;
148 convert_params_value
= false;
160 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
161 "glFogxv(pname=0x%x)", pname
);
165 if (convert_params_value
) {
166 for (i
= 0; i
< n_params
; i
++) {
167 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
170 for (i
= 0; i
< n_params
; i
++) {
171 converted_params
[i
] = (GLfloat
) params
[i
];
175 _mesa_Fogfv(pname
, converted_params
);
179 _mesa_Frustumf(GLfloat left
, GLfloat right
, GLfloat bottom
, GLfloat top
,
180 GLfloat zNear
, GLfloat zFar
)
182 _mesa_Frustum((GLdouble
) (left
),
191 _mesa_Frustumx(GLfixed left
, GLfixed right
, GLfixed bottom
, GLfixed top
,
192 GLfixed zNear
, GLfixed zFar
)
194 _mesa_Frustum((GLdouble
) (left
/ 65536.0),
195 (GLdouble
) (right
/ 65536.0),
196 (GLdouble
) (bottom
/ 65536.0),
197 (GLdouble
) (top
/ 65536.0),
198 (GLdouble
) (zNear
/ 65536.0),
199 (GLdouble
) (zFar
/ 65536.0));
203 _mesa_GetClipPlanef(GLenum plane
, GLfloat
*equation
)
206 GLdouble converted_equation
[4];
208 _mesa_GetClipPlane(plane
, converted_equation
);
209 for (i
= 0; i
< Elements(converted_equation
); i
++) {
210 equation
[i
] = (GLfloat
) (converted_equation
[i
]);
215 _mesa_GetClipPlanex(GLenum plane
, GLfixed
*equation
)
218 GLdouble converted_equation
[4];
220 _mesa_GetClipPlane(plane
, converted_equation
);
221 for (i
= 0; i
< Elements(converted_equation
); i
++) {
222 equation
[i
] = (GLfixed
) (converted_equation
[i
] * 65536);
227 _mesa_GetLightxv(GLenum light
, GLenum pname
, GLfixed
*params
)
230 unsigned int n_params
= 4;
231 GLfloat converted_params
[4];
233 if (light
< GL_LIGHT0
|| light
> GL_LIGHT7
) {
234 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
235 "glGetLightxv(light=0x%x)", light
);
245 case GL_SPOT_DIRECTION
:
248 case GL_SPOT_EXPONENT
:
250 case GL_CONSTANT_ATTENUATION
:
251 case GL_LINEAR_ATTENUATION
:
252 case GL_QUADRATIC_ATTENUATION
:
256 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
257 "glGetLightxv(pname=0x%x)", pname
);
261 _mesa_GetLightfv(light
, pname
, converted_params
);
262 for (i
= 0; i
< n_params
; i
++) {
263 params
[i
] = (GLint
) (converted_params
[i
] * 65536);
268 _mesa_GetMaterialxv(GLenum face
, GLenum pname
, GLfixed
*params
)
271 unsigned int n_params
= 4;
272 GLfloat converted_params
[4];
279 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
280 "glGetMaterialxv(face=0x%x)", face
);
294 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
295 "glGetMaterialxv(pname=0x%x)", pname
);
299 _mesa_GetMaterialfv(face
, pname
, converted_params
);
300 for (i
= 0; i
< n_params
; i
++) {
301 params
[i
] = (GLint
) (converted_params
[i
] * 65536);
306 _mesa_GetTexEnvxv(GLenum target
, GLenum pname
, GLfixed
*params
)
309 unsigned int n_params
= 4;
310 GLfloat converted_params
[4];
311 bool convert_params_value
= true;
314 case GL_POINT_SPRITE
:
315 if (pname
!= GL_COORD_REPLACE
) {
316 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
317 "glGetTexEnvxv(target=0x%x)", target
);
321 case GL_TEXTURE_FILTER_CONTROL_EXT
:
322 if (pname
!= GL_TEXTURE_LOD_BIAS_EXT
) {
323 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
324 "glGetTexEnvxv(target=0x%x)", target
);
329 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
) {
330 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
331 "glGetTexEnvxv(target=0x%x)", target
);
336 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
337 "glGetTexEnvxv(target=0x%x)", target
);
341 case GL_COORD_REPLACE
:
342 convert_params_value
= false;
345 case GL_TEXTURE_LOD_BIAS_EXT
:
348 case GL_TEXTURE_ENV_COLOR
:
355 case GL_TEXTURE_ENV_MODE
:
357 case GL_COMBINE_ALPHA
:
364 case GL_OPERAND0_RGB
:
365 case GL_OPERAND1_RGB
:
366 case GL_OPERAND2_RGB
:
367 case GL_OPERAND0_ALPHA
:
368 case GL_OPERAND1_ALPHA
:
369 case GL_OPERAND2_ALPHA
:
370 convert_params_value
= false;
374 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
375 "glGetTexEnvxv(pname=0x%x)", pname
);
379 _mesa_GetTexEnvfv(target
, pname
, converted_params
);
380 if (convert_params_value
) {
381 for (i
= 0; i
< n_params
; i
++) {
382 params
[i
] = (GLint
) (converted_params
[i
] * 65536);
385 for (i
= 0; i
< n_params
; i
++) {
386 params
[i
] = (GLfixed
) converted_params
[i
];
392 _check_GetTexGenivOES(GLenum coord
, GLenum pname
, GLint
*params
)
394 _mesa_GetTexGeniv(coord
, pname
, params
);
398 _mesa_GetTexGenxvOES(GLenum coord
, GLenum pname
, GLfixed
*params
)
400 _mesa_GetTexGeniv(coord
, pname
, (GLint
*) params
);
404 _mesa_GetTexParameterxv(GLenum target
, GLenum pname
, GLfixed
*params
)
407 unsigned int n_params
= 4;
408 GLfloat converted_params
[4];
409 bool convert_params_value
= true;
413 case GL_TEXTURE_CUBE_MAP
:
414 case GL_TEXTURE_EXTERNAL_OES
:
417 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
418 "glGetTexParameterxv(target=0x%x)", target
);
422 case GL_TEXTURE_WRAP_S
:
423 case GL_TEXTURE_WRAP_T
:
424 case GL_TEXTURE_MIN_FILTER
:
425 case GL_TEXTURE_MAG_FILTER
:
426 case GL_GENERATE_MIPMAP
:
427 convert_params_value
= false;
430 case GL_TEXTURE_CROP_RECT_OES
:
434 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
435 "glGetTexParameterxv(pname=0x%x)", pname
);
439 _mesa_GetTexParameterfv(target
, pname
, converted_params
);
440 if (convert_params_value
) {
441 for (i
= 0; i
< n_params
; i
++) {
442 params
[i
] = (GLint
) (converted_params
[i
] * 65536);
445 for (i
= 0; i
< n_params
; i
++) {
446 params
[i
] = (GLfixed
) converted_params
[i
];
452 _mesa_LightModelx(GLenum pname
, GLfixed param
)
454 _mesa_LightModelf(pname
, (GLfloat
) param
);
458 _mesa_LightModelxv(GLenum pname
, const GLfixed
*params
)
461 unsigned int n_params
= 4;
462 GLfloat converted_params
[4];
463 bool convert_params_value
= true;
466 case GL_LIGHT_MODEL_AMBIENT
:
469 case GL_LIGHT_MODEL_TWO_SIDE
:
470 convert_params_value
= false;
474 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
475 "glLightModelxv(pname=0x%x)", pname
);
479 if (convert_params_value
) {
480 for (i
= 0; i
< n_params
; i
++) {
481 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
484 for (i
= 0; i
< n_params
; i
++) {
485 converted_params
[i
] = (GLfloat
) params
[i
];
489 _mesa_LightModelfv(pname
, converted_params
);
493 _mesa_Lightx(GLenum light
, GLenum pname
, GLfixed param
)
495 _mesa_Lightf(light
, pname
, (GLfloat
) (param
/ 65536.0f
));
499 _mesa_Lightxv(GLenum light
, GLenum pname
, const GLfixed
*params
)
502 unsigned int n_params
= 4;
503 GLfloat converted_params
[4];
505 if (light
< GL_LIGHT0
|| light
> GL_LIGHT7
) {
506 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
507 "glLightxv(light=0x%x)", light
);
517 case GL_SPOT_DIRECTION
:
520 case GL_SPOT_EXPONENT
:
522 case GL_CONSTANT_ATTENUATION
:
523 case GL_LINEAR_ATTENUATION
:
524 case GL_QUADRATIC_ATTENUATION
:
528 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
529 "glLightxv(pname=0x%x)", pname
);
533 for (i
= 0; i
< n_params
; i
++) {
534 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
537 _mesa_Lightfv(light
, pname
, converted_params
);
541 _mesa_LineWidthx(GLfixed width
)
543 _mesa_LineWidth((GLfloat
) (width
/ 65536.0f
));
547 _mesa_LoadMatrixx(const GLfixed
*m
)
550 GLfloat converted_m
[16];
552 for (i
= 0; i
< Elements(converted_m
); i
++) {
553 converted_m
[i
] = (GLfloat
) (m
[i
] / 65536.0f
);
556 _mesa_LoadMatrixf(converted_m
);
560 _mesa_Materialx(GLenum face
, GLenum pname
, GLfixed param
)
562 if (face
!= GL_FRONT_AND_BACK
) {
563 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
564 "glMaterialx(face=0x%x)", face
);
568 if (pname
!= GL_SHININESS
) {
569 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
570 "glMaterialx(pname=0x%x)", pname
);
574 _es_Materialf(face
, pname
, (GLfloat
) (param
/ 65536.0f
));
578 _mesa_Materialxv(GLenum face
, GLenum pname
, const GLfixed
*params
)
581 unsigned int n_params
= 4;
582 GLfloat converted_params
[4];
584 if (face
!= GL_FRONT_AND_BACK
) {
585 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
586 "glMaterialxv(face=0x%x)", face
);
593 case GL_AMBIENT_AND_DIFFUSE
:
602 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
603 "glMaterialxv(pname=0x%x)", pname
);
607 for (i
= 0; i
< n_params
; i
++) {
608 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
611 _es_Materialfv(face
, pname
, converted_params
);
615 _mesa_MultMatrixx(const GLfixed
*m
)
618 GLfloat converted_m
[16];
620 for (i
= 0; i
< Elements(converted_m
); i
++) {
621 converted_m
[i
] = (GLfloat
) (m
[i
] / 65536.0f
);
624 _mesa_MultMatrixf(converted_m
);
628 _mesa_MultiTexCoord4x(GLenum texture
, GLfixed s
, GLfixed t
, GLfixed r
, GLfixed q
)
630 _es_MultiTexCoord4f(texture
,
631 (GLfloat
) (s
/ 65536.0f
),
632 (GLfloat
) (t
/ 65536.0f
),
633 (GLfloat
) (r
/ 65536.0f
),
634 (GLfloat
) (q
/ 65536.0f
));
638 _mesa_Normal3x(GLfixed nx
, GLfixed ny
, GLfixed nz
)
640 _es_Normal3f((GLfloat
) (nx
/ 65536.0f
),
641 (GLfloat
) (ny
/ 65536.0f
),
642 (GLfloat
) (nz
/ 65536.0f
));
646 _mesa_Orthof(GLfloat left
, GLfloat right
, GLfloat bottom
, GLfloat top
,
647 GLfloat zNear
, GLfloat zFar
)
649 _mesa_Ortho((GLdouble
) (left
),
658 _mesa_Orthox(GLfixed left
, GLfixed right
, GLfixed bottom
, GLfixed top
,
659 GLfixed zNear
, GLfixed zFar
)
661 _mesa_Ortho((GLdouble
) (left
/ 65536.0),
662 (GLdouble
) (right
/ 65536.0),
663 (GLdouble
) (bottom
/ 65536.0),
664 (GLdouble
) (top
/ 65536.0),
665 (GLdouble
) (zNear
/ 65536.0),
666 (GLdouble
) (zFar
/ 65536.0));
670 _mesa_PointParameterx(GLenum pname
, GLfixed param
)
672 _mesa_PointParameterf(pname
, (GLfloat
) (param
/ 65536.0f
));
676 _mesa_PointParameterxv(GLenum pname
, const GLfixed
*params
)
679 unsigned int n_params
= 3;
680 GLfloat converted_params
[3];
683 case GL_POINT_SIZE_MIN
:
684 case GL_POINT_SIZE_MAX
:
685 case GL_POINT_FADE_THRESHOLD_SIZE
:
688 case GL_POINT_DISTANCE_ATTENUATION
:
692 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
693 "glPointParameterxv(pname=0x%x)", pname
);
697 for (i
= 0; i
< n_params
; i
++) {
698 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
701 _mesa_PointParameterfv(pname
, converted_params
);
705 _mesa_PointSizex(GLfixed size
)
707 _mesa_PointSize((GLfloat
) (size
/ 65536.0f
));
711 _mesa_PolygonOffsetx(GLfixed factor
, GLfixed units
)
713 _mesa_PolygonOffset((GLfloat
) (factor
/ 65536.0f
),
714 (GLfloat
) (units
/ 65536.0f
));
718 _mesa_Rotatex(GLfixed angle
, GLfixed x
, GLfixed y
, GLfixed z
)
720 _mesa_Rotatef((GLfloat
) (angle
/ 65536.0f
),
721 (GLfloat
) (x
/ 65536.0f
),
722 (GLfloat
) (y
/ 65536.0f
),
723 (GLfloat
) (z
/ 65536.0f
));
727 _mesa_SampleCoveragex(GLclampx value
, GLboolean invert
)
729 _mesa_SampleCoverage((GLclampf
) (value
/ 65536.0f
),
734 _mesa_Scalex(GLfixed x
, GLfixed y
, GLfixed z
)
736 _mesa_Scalef((GLfloat
) (x
/ 65536.0f
),
737 (GLfloat
) (y
/ 65536.0f
),
738 (GLfloat
) (z
/ 65536.0f
));
742 _mesa_TexEnvx(GLenum target
, GLenum pname
, GLfixed param
)
745 case GL_POINT_SPRITE
:
746 case GL_TEXTURE_FILTER_CONTROL_EXT
:
750 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
751 "glTexEnvx(target=0x%x)", target
);
756 case GL_COORD_REPLACE
:
757 case GL_TEXTURE_ENV_MODE
:
759 case GL_COMBINE_ALPHA
:
766 case GL_OPERAND0_RGB
:
767 case GL_OPERAND1_RGB
:
768 case GL_OPERAND2_RGB
:
769 case GL_OPERAND0_ALPHA
:
770 case GL_OPERAND1_ALPHA
:
771 case GL_OPERAND2_ALPHA
:
772 _mesa_TexEnvf(target
, pname
, (GLfloat
) param
);
774 case GL_TEXTURE_LOD_BIAS_EXT
:
777 _mesa_TexEnvf(target
, pname
, (GLfloat
) (param
/ 65536.0f
));
780 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
781 "glTexEnvx(pname=0x%x)", pname
);
787 _mesa_TexEnvxv(GLenum target
, GLenum pname
, const GLfixed
*params
)
790 case GL_POINT_SPRITE
:
791 case GL_TEXTURE_FILTER_CONTROL_EXT
:
795 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
796 "glTexEnvxv(target=0x%x)", target
);
801 case GL_COORD_REPLACE
:
802 case GL_TEXTURE_ENV_MODE
:
804 case GL_COMBINE_ALPHA
:
811 case GL_OPERAND0_RGB
:
812 case GL_OPERAND1_RGB
:
813 case GL_OPERAND2_RGB
:
814 case GL_OPERAND0_ALPHA
:
815 case GL_OPERAND1_ALPHA
:
816 case GL_OPERAND2_ALPHA
:
817 _mesa_TexEnvf(target
, pname
, (GLfloat
) params
[0]);
819 case GL_TEXTURE_LOD_BIAS_EXT
:
822 _mesa_TexEnvf(target
, pname
, (GLfloat
) (params
[0] / 65536.0f
));
824 case GL_TEXTURE_ENV_COLOR
: {
826 GLfloat converted_params
[4];
828 for (i
= 0; i
< Elements(converted_params
); i
++) {
829 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
832 _mesa_TexEnvfv(target
, pname
, converted_params
);
836 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
837 "glTexEnvxv(pname=0x%x)", pname
);
843 _check_TexGeniOES(GLenum coord
, GLenum pname
, GLint param
)
845 _es_TexGenf(coord
, pname
, (GLfloat
) param
);
849 _check_TexGenivOES(GLenum coord
, GLenum pname
, const GLint
*params
)
851 _es_TexGenf(coord
, pname
, (GLfloat
) params
[0]);
855 _mesa_TexGenxOES(GLenum coord
, GLenum pname
, GLfixed param
)
857 _es_TexGenf(coord
, pname
, (GLfloat
) param
);
861 _mesa_TexGenxvOES(GLenum coord
, GLenum pname
, const GLfixed
*params
)
863 _es_TexGenf(coord
, pname
, (GLfloat
) params
[0]);
867 _mesa_TexParameterx(GLenum target
, GLenum pname
, GLfixed param
)
869 if (pname
== GL_TEXTURE_MAX_ANISOTROPY_EXT
) {
870 _mesa_TexParameterf(target
, pname
, (GLfloat
) (param
/ 65536.0f
));
872 _mesa_TexParameterf(target
, pname
, (GLfloat
) param
);
877 _mesa_TexParameterxv(GLenum target
, GLenum pname
, const GLfixed
*params
)
880 unsigned int n_params
= 4;
881 GLfloat converted_params
[4];
882 bool convert_params_value
= true;
886 case GL_TEXTURE_CUBE_MAP
:
887 case GL_TEXTURE_EXTERNAL_OES
:
890 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
891 "glTexParameterxv(target=0x%x)", target
);
895 case GL_TEXTURE_WRAP_S
:
896 case GL_TEXTURE_WRAP_T
:
897 convert_params_value
= false;
900 case GL_TEXTURE_MIN_FILTER
:
901 case GL_TEXTURE_MAG_FILTER
:
902 case GL_GENERATE_MIPMAP
:
903 convert_params_value
= false;
906 case GL_TEXTURE_MAX_ANISOTROPY_EXT
:
909 case GL_TEXTURE_CROP_RECT_OES
:
913 _mesa_error(_mesa_get_current_context(), GL_INVALID_ENUM
,
914 "glTexParameterxv(pname=0x%x)", pname
);
918 if (convert_params_value
) {
919 for (i
= 0; i
< n_params
; i
++) {
920 converted_params
[i
] = (GLfloat
) (params
[i
] / 65536.0f
);
923 for (i
= 0; i
< n_params
; i
++) {
924 converted_params
[i
] = (GLfloat
) params
[i
];
928 _mesa_TexParameterfv(target
, pname
, converted_params
);
932 _mesa_Translatex(GLfixed x
, GLfixed y
, GLfixed z
)
934 _mesa_Translatef((GLfloat
) (x
/ 65536.0f
),
935 (GLfloat
) (y
/ 65536.0f
),
936 (GLfloat
) (z
/ 65536.0f
));