finish transitioning from arosmesa -> mesa3dgl.library
[AROS.git] / workbench / libs / mesa / src / aros / arosmesa / mesa3dgl_glagetconfig.c
blobe0d9b5c355641512732b6d3f8cf0b5f2715b86e4
1 /*
2 Copyright 2011-2015, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #include <proto/exec.h>
8 #include "mesa3dgl_types.h"
9 #include "mesa3dgl_funcs.h"
11 /*****************************************************************************
13 NAME */
15 void glAGetConfig(
17 /* SYNOPSIS */
18 GLAContext ctx,
19 GLenum pname,
20 GLint * params)
22 /* FUNCTION
24 Gets value of selected parameter
26 INPUTS
28 pname - enum value of parameter
30 params - pointer to integer where the value is to be put
32 RESULT
34 None
36 BUGS
38 INTERNALS
40 HISTORY
42 *****************************************************************************/
44 LONG depthbits, stencilbits, accumbits, rbbits, gbits, abits;
45 struct mesa3dgl_context *_ctx = (struct mesa3dgl_context *)ctx;
47 switch(_ctx->stvis.depth_stencil_format)
49 case(PIPE_FORMAT_S8_USCALED_Z24_UNORM): depthbits = 24; stencilbits = 8; break;
50 case(PIPE_FORMAT_X8Z24_UNORM): depthbits = 24; stencilbits = 0; break;
51 case(PIPE_FORMAT_Z24X8_UNORM): depthbits = 24; stencilbits = 0; break;
52 case(PIPE_FORMAT_Z16_UNORM): depthbits = 16; stencilbits = 0; break;
53 default: depthbits = -1; stencilbits = -1;
56 switch(_ctx->stvis.accum_format)
58 case(PIPE_FORMAT_R16G16B16A16_SNORM): accumbits = 16; break;
59 default: accumbits = -1;
62 switch(_ctx->stvis.color_format)
64 case(PIPE_FORMAT_B5G6R5_UNORM): rbbits = 5; gbits = 6; abits = 0; break;
65 case(PIPE_FORMAT_B8G8R8A8_UNORM): rbbits = 8; gbits = 8; abits = 8; break;
66 default: rbbits = -1; gbits = -1; abits = 1;
69 if (_ctx)
71 switch(pname)
73 case GL_RED_BITS:
74 *params = rbbits;
75 break;
76 case GL_GREEN_BITS:
77 *params = gbits;
78 break;
79 case GL_BLUE_BITS:
80 *params = rbbits;
81 break;
82 case GL_ALPHA_BITS:
83 *params = abits;
84 break;
85 case GL_DOUBLEBUFFER:
86 *params = 1;
87 break;
88 case GL_DEPTH_BITS:
89 *params = depthbits;
90 break;
91 case GL_STENCIL_BITS:
92 *params = stencilbits;
93 break;
94 case GL_ACCUM_RED_BITS:
95 *params = accumbits;
96 break;
97 case GL_ACCUM_GREEN_BITS:
98 *params = accumbits;
99 break;
100 case GL_ACCUM_BLUE_BITS:
101 *params = accumbits;
102 break;
103 case GL_ACCUM_ALPHA_BITS:
104 *params = accumbits;
105 break;
106 case GL_STEREO:
107 *params = 0;
108 break;
109 default:
110 *params = -1;