user: 请将以下的汇编代码转换成C语言代码：

```asm
<__glGet_size>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %edi,-0x4(%rbp)
  cmpl   $0x195,-0x4(%rbp)
  jg     L323
  cmpl   $0xcc,-0x4(%rbp)
  jge    L1695
  cmpl   $0xb9,-0x4(%rbp)
  jg     L1733
  cmpl   $0x80,-0x4(%rbp)
  jge    L1559
  jmp    L323
L1695:
  mov    -0x4(%rbp),%eax
  sub    $0xcc,%eax
  cmp    $0xc9,%eax
  ja     L323
  mov    %eax,%eax
  lea    0x0(,%rax,4),%rdx
  lea    D37(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D37(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
L1333:
  mov    -0x4(%rbp),%eax
  sub    $0xba,%eax
  mov    $0x1,%edx
  mov    %eax,%ecx
  shl    %cl,%rdx
  mov    %rdx,%rax
  mov    %rax,%rdx
  and    $0x3de00,%edx
  test   %rdx,%rdx
  setne  %dl
  test   %dl,%dl
  jne    L252
  mov    %rax,%rdx
  and    $0x1ef,%edx
  test   %rdx,%rdx
  setne  %dl
  test   %dl,%dl
  jne    L681
  and    $0x2010,%eax
  test   %rax,%rax
  setne  %al
  test   %al,%al
  jne    L1068
  jmp    L323
L1559:
  mov    -0x4(%rbp),%eax
  add    $0xffffff80,%eax
  cmp    $0x39,%eax
  ja     L323
  mov    %eax,%eax
  lea    0x0(,%rax,4),%rdx
  lea    D14(%rip),%rax
  mov    (%rdx,%rax,1),%eax
  cltq
  lea    D14(%rip),%rdx
  add    %rdx,%rax
  notrack jmp *%rax
L1733:
  cmpl   $0xcb,-0x4(%rbp)
  jg     L323
  cmpl   $0xba,-0x4(%rbp)
  jge    L1333
  jmp    L323
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x3,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x2,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x2,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x2,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x2,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x2,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x2,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x10,%eax
  jmp    L1040
  mov    $0x10,%eax
  jmp    L1040
  mov    $0x10,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x2,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x2,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x2,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x4,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x10,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
L1068:
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
L681:
  mov    $0x1,%eax
  jmp    L1040
L252:
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
  mov    $0x1,%eax
  jmp    L1040
L323:
  mov    $0xffffffff,%eax
L1040:
  pop    %rbp
  ret
```

assistant: ```c
GLint __glGet_size(GLenum sq) {
  switch (sq) {
  case GL_MAX_TEXTURE_SIZE:
    return 1;
  case GL_SUBPIXEL_BITS:
    return 1;
  case GL_MAX_LIST_NESTING:
    return 1;
  case GL_MAP1_COLOR_4:
  case GL_MAP1_INDEX:
  case GL_MAP1_NORMAL:
  case GL_MAP1_TEXTURE_COORD_1:
  case GL_MAP1_TEXTURE_COORD_2:
  case GL_MAP1_TEXTURE_COORD_3:
  case GL_MAP1_TEXTURE_COORD_4:
  case GL_MAP1_VERTEX_3:
  case GL_MAP1_VERTEX_4:
    return 1;
  case GL_MAP2_COLOR_4:
  case GL_MAP2_INDEX:
  case GL_MAP2_NORMAL:
  case GL_MAP2_TEXTURE_COORD_1:
  case GL_MAP2_TEXTURE_COORD_2:
  case GL_MAP2_TEXTURE_COORD_3:
  case GL_MAP2_TEXTURE_COORD_4:
  case GL_MAP2_VERTEX_3:
  case GL_MAP2_VERTEX_4:
    return 1;
  case GL_AUTO_NORMAL:
    return 1;
  case GL_CURRENT_COLOR:
    return 4;
  case GL_CURRENT_INDEX:
    return 1;
  case GL_CURRENT_NORMAL:
    return 3;
  case GL_CURRENT_TEXTURE_COORDS:
    return 4;
  case GL_CURRENT_RASTER_INDEX:
    return 1;
  case GL_CURRENT_RASTER_COLOR:
    return 4;
  case GL_CURRENT_RASTER_TEXTURE_COORDS:
    return 4;
  case GL_CURRENT_RASTER_POSITION:
    return 4;
  case GL_CURRENT_RASTER_POSITION_VALID:
    return 1;
  case GL_CURRENT_RASTER_DISTANCE:
    return 1;
  case GL_POINT_SIZE:
    return 1;
  case GL_POINT_SIZE_RANGE:
    return 2;
  case GL_POINT_SIZE_GRANULARITY:
    return 1;
  case GL_ALIASED_POINT_SIZE_RANGE:
    return 2;
  case GL_POINT_SMOOTH:
    return 1;
  case GL_LINE_SMOOTH:
    return 1;
  case GL_LINE_WIDTH:
    return 1;
  case GL_LINE_WIDTH_RANGE:
    return 2;
  case GL_LINE_WIDTH_GRANULARITY:
    return 1;
  case GL_ALIASED_LINE_WIDTH_RANGE:
    return 2;
  case GL_LINE_STIPPLE_PATTERN:
    return 1;
  case GL_LINE_STIPPLE_REPEAT:
    return 1;
  case GL_LINE_STIPPLE:
    return 1;
  case GL_POLYGON_MODE:
    return 2;
  case GL_POLYGON_SMOOTH:
    return 1;
  case GL_POLYGON_STIPPLE:
    return 1;
  case GL_EDGE_FLAG:
    return 1;
  case GL_CULL_FACE:
    return 1;
  case GL_CULL_FACE_MODE:
    return 1;
  case GL_FRONT_FACE:
    return 1;
  case GL_LIGHTING:
    return 1;
  case GL_LIGHT_MODEL_LOCAL_VIEWER:
    return 1;
  case GL_LIGHT_MODEL_TWO_SIDE:
    return 1;
  case GL_LIGHT_MODEL_AMBIENT:
    return 4;
  case GL_LIGHT_MODEL_COLOR_CONTROL:
    return 1;
  case GL_COLOR_MATERIAL:
    return 1;
  case GL_COLOR_MATERIAL_FACE:
    return 1;
  case GL_COLOR_MATERIAL_PARAMETER:
    return 1;
  case GL_SHADE_MODEL:
    return 1;
  case GL_FOG:
    return 1;
  case GL_FOG_INDEX:
    return 1;
  case GL_FOG_DENSITY:
    return 1;
  case GL_FOG_START:
    return 1;
  case GL_FOG_END:
    return 1;
  case GL_FOG_MODE:
    return 1;
  case GL_FOG_COLOR:
    return 4;
  case GL_DEPTH_RANGE:
    return 2;
  case GL_DEPTH_TEST:
    return 1;
  case GL_DEPTH_WRITEMASK:
    return 1;
  case GL_DEPTH_CLEAR_VALUE:
    return 1;
  case GL_DEPTH_FUNC:
    return 1;
  case GL_ACCUM_CLEAR_VALUE:
    return 4;
  case GL_STENCIL_TEST:
    return 1;
  case GL_STENCIL_CLEAR_VALUE:
    return 1;
  case GL_STENCIL_FUNC:
    return 1;
  case GL_STENCIL_VALUE_MASK:
    return 1;
  case GL_STENCIL_FAIL:
    return 1;
  case GL_STENCIL_PASS_DEPTH_FAIL:
    return 1;
  case GL_STENCIL_PASS_DEPTH_PASS:
    return 1;
  case GL_STENCIL_REF:
    return 1;
  case GL_STENCIL_WRITEMASK:
    return 1;
  case GL_MATRIX_MODE:
    return 1;
  case GL_NORMALIZE:
    return 1;
  case GL_VIEWPORT:
    return 4;
  case GL_ATTRIB_STACK_DEPTH:
    return 1;
  case GL_MODELVIEW_STACK_DEPTH:
    return 1;
  case GL_PROJECTION_STACK_DEPTH:
    return 1;
  case GL_TEXTURE_STACK_DEPTH:
    return 1;
  case GL_MODELVIEW_MATRIX:
    return 16;
  case GL_PROJECTION_MATRIX:
    return 16;
  case GL_TEXTURE_MATRIX:
    return 16;
  case GL_ALPHA_TEST:
    return 1;
  case GL_ALPHA_TEST_FUNC:
    return 1;
  case GL_ALPHA_TEST_REF:
    return 1;
  case GL_DITHER:
    return 1;
  case GL_BLEND_DST:
    return 1;
  case GL_BLEND_SRC:
    return 1;
  case GL_BLEND:
    return 1;
  case GL_LOGIC_OP_MODE:
    return 1;
  case GL_LOGIC_OP:
    return 1;
  case GL_DRAW_BUFFER:
    return 1;
  case GL_READ_BUFFER:
    return 1;
  case GL_SCISSOR_TEST:
    return 1;
  case GL_SCISSOR_BOX:
    return 4;
  case GL_INDEX_CLEAR_VALUE:
    return 1;
  case GL_INDEX_MODE:
    return 1;
  case GL_INDEX_WRITEMASK:
    return 1;
  case GL_COLOR_CLEAR_VALUE:
    return 4;
  case GL_RGBA_MODE:
    return 1;
  case GL_COLOR_WRITEMASK:
    return 4;
  case GL_RENDER_MODE:
    return 1;
  case GL_PERSPECTIVE_CORRECTION_HINT:
    return 1;
  case GL_POINT_SMOOTH_HINT:
    return 1;
  case GL_LINE_SMOOTH_HINT:
    return 1;
  case GL_POLYGON_SMOOTH_HINT:
    return 1;
  case GL_FOG_HINT:
    return 1;
  case GL_LIST_BASE:
    return 1;
  case GL_LIST_INDEX:
    return 1;
  case GL_LIST_MODE:
    return 1;
  case GL_TEXTURE_GEN_S:
    return 1;
  case GL_TEXTURE_GEN_T:
    return 1;
  case GL_TEXTURE_GEN_R:
    return 1;
  case GL_TEXTURE_GEN_Q:
    return 1;
  case GL_PACK_SWAP_BYTES:
    return 1;
  case GL_PACK_LSB_FIRST:
    return 1;
  case GL_PACK_ROW_LENGTH:
    return 1;
  case GL_PACK_IMAGE_HEIGHT:
    return 1;
  case GL_PACK_SKIP_ROWS:
    return 1;
  case GL_PACK_SKIP_PIXELS:
    return 1;
  case GL_PACK_SKIP_IMAGES:
    return 1;
  case GL_PACK_ALIGNMENT:
    return 1;
  case GL_UNPACK_SWAP_BYTES:
    return 1;
  case GL_UNPACK_LSB_FIRST:
    return 1;
  case GL_UNPACK_ROW_LENGTH:
    return 1;
  case GL_UNPACK_IMAGE_HEIGHT:
    return 1;
  case GL_UNPACK_SKIP_ROWS:
    return 1;
  case GL_UNPACK_SKIP_PIXELS:
    return 1;
  case GL_UNPACK_SKIP_IMAGES:
    return 1;
  case GL_UNPACK_ALIGNMENT:
    return 1;
  case GL_MAP_COLOR:
    return 1;
  case GL_MAP_STENCIL:
    return 1;
  case GL_INDEX_SHIFT:
    return 1;
  case GL_INDEX_OFFSET:
    return 1;
  case GL_RED_SCALE:
  case GL_GREEN_SCALE:
  case GL_BLUE_SCALE:
  case GL_ALPHA_SCALE:
  case GL_DEPTH_SCALE:
    return 1;
  case GL_RED_BIAS:
  case GL_GREEN_BIAS:
  case GL_BLUE_BIAS:
  case GL_ALPHA_BIAS:
  case GL_DEPTH_BIAS:
    return 1;
  case GL_ZOOM_X:
  case GL_ZOOM_Y:
    return 1;
  case GL_PIXEL_MAP_I_TO_I_SIZE:
  case GL_PIXEL_MAP_S_TO_S_SIZE:
  case GL_PIXEL_MAP_I_TO_R_SIZE:
  case GL_PIXEL_MAP_I_TO_G_SIZE:
  case GL_PIXEL_MAP_I_TO_B_SIZE:
  case GL_PIXEL_MAP_I_TO_A_SIZE:
  case GL_PIXEL_MAP_R_TO_R_SIZE:
  case GL_PIXEL_MAP_G_TO_G_SIZE:
  case GL_PIXEL_MAP_B_TO_B_SIZE:
  case GL_PIXEL_MAP_A_TO_A_SIZE:
    return 1;
  case GL_MAX_EVAL_ORDER:
    return 1;
  case GL_MAX_LIGHTS:
    return 1;
  case GL_MAX_CLIP_PLANES:
    return 1;
  case GL_MAX_PIXEL_MAP_TABLE:
    return 1;
  case GL_MAX_ATTRIB_STACK_DEPTH:
    return 1;
  case GL_MAX_MODELVIEW_STACK_DEPTH:
    return 1;
  case GL_MAX_NAME_STACK_DEPTH:
    return 1;
  case GL_MAX_PROJECTION_STACK_DEPTH:
    return 1;
  case GL_MAX_TEXTURE_STACK_DEPTH:
    return 1;
  case GL_INDEX_BITS:
    return 1;
  case GL_RED_BITS:
    return 1;
  case GL_GREEN_BITS:
    return 1;
  case GL_BLUE_BITS:
    return 1;
  case GL_ALPHA_BITS:
    return 1;
  case GL_DEPTH_BITS:
    return 1;
  case GL_STENCIL_BITS:
    return 1;
  case GL_ACCUM_RED_BITS:
  case GL_ACCUM_GREEN_BITS:
  case GL_ACCUM_BLUE_BITS:
  case GL_ACCUM_ALPHA_BITS:
    return 1;
  case GL_MAP1_GRID_DOMAIN:
    return 2;
  case GL_MAP1_GRID_SEGMENTS:
    return 1;
  case GL_MAP2_GRID_DOMAIN:
    return 4;
  case GL_MAP2_GRID_SEGMENTS:
    return 2;
  case GL_TEXTURE_1D:
  case GL_TEXTURE_2D:
  case GL_TEXTURE_3D:
    return 1;
  case GL_NAME_STACK_DEPTH:
    return 1;
  case GL_MAX_VIEWPORT_DIMS:
    return 2;
  case GL_DOUBLEBUFFER:
    return 1;
  case GL_AUX_BUFFERS:
    return 1;
  case GL_STEREO:
    return 1;
  case GL_CLIP_PLANE0:
  case GL_CLIP_PLANE1:
  case GL_CLIP_PLANE2:
  case GL_CLIP_PLANE3:
  case GL_CLIP_PLANE4:
  case GL_CLIP_PLANE5:
    return 1;
  case GL_LIGHT0:
  case GL_LIGHT1:
  case GL_LIGHT2:
  case GL_LIGHT3:
  case GL_LIGHT4:
  case GL_LIGHT5:
  case GL_LIGHT6:
  case GL_LIGHT7:
    return 1;
  case GL_VERTEX_ARRAY:
  case GL_VERTEX_ARRAY_SIZE:
  case GL_VERTEX_ARRAY_TYPE:
  case GL_VERTEX_ARRAY_STRIDE:
  case GL_NORMAL_ARRAY:
  case GL_NORMAL_ARRAY_TYPE:
  case GL_NORMAL_ARRAY_STRIDE:
  case GL_COLOR_ARRAY:
  case GL_COLOR_ARRAY_SIZE:
  case GL_COLOR_ARRAY_TYPE:
  case GL_COLOR_ARRAY_STRIDE:
  case GL_INDEX_ARRAY:
  case GL_INDEX_ARRAY_TYPE:
  case GL_INDEX_ARRAY_STRIDE:
  case GL_TEXTURE_COORD_ARRAY:
  case GL_TEXTURE_COORD_ARRAY_SIZE:
  case GL_TEXTURE_COORD_ARRAY_TYPE:
  case GL_TEXTURE_COORD_ARRAY_STRIDE:
  case GL_EDGE_FLAG_ARRAY:
  case GL_EDGE_FLAG_ARRAY_STRIDE:
    return 1;
  case GL_TEXTURE_BINDING_1D:
  case GL_TEXTURE_BINDING_2D:
  case GL_TEXTURE_BINDING_3D:
    return 1;
  case GL_BLEND_COLOR:
    return 4;
  case GL_BLEND_EQUATION:
    return 1;
  case GL_COLOR_MATRIX:
    return 16;
  case GL_COLOR_MATRIX_STACK_DEPTH:
    return 1;
  case GL_COLOR_TABLE:
  case GL_POST_CONVOLUTION_COLOR_TABLE:
  case GL_POST_COLOR_MATRIX_COLOR_TABLE:
  case GL_CONVOLUTION_1D:
  case GL_CONVOLUTION_2D:
  case GL_SEPARABLE_2D:
  case GL_HISTOGRAM:
  case GL_MINMAX:
    return 1;
  case GL_POLYGON_OFFSET_FACTOR:
  case GL_POLYGON_OFFSET_UNITS:
    return 1;
  case GL_POST_CONVOLUTION_RED_SCALE:
  case GL_POST_CONVOLUTION_GREEN_SCALE:
  case GL_POST_CONVOLUTION_BLUE_SCALE:
  case GL_POST_CONVOLUTION_ALPHA_SCALE:
  case GL_POST_CONVOLUTION_RED_BIAS:
  case GL_POST_CONVOLUTION_GREEN_BIAS:
  case GL_POST_CONVOLUTION_BLUE_BIAS:
  case GL_POST_CONVOLUTION_ALPHA_BIAS:
    return 1;
  case GL_POST_COLOR_MATRIX_RED_SCALE:
  case GL_POST_COLOR_MATRIX_GREEN_SCALE:
  case GL_POST_COLOR_MATRIX_BLUE_SCALE:
  case GL_POST_COLOR_MATRIX_ALPHA_SCALE:
  case GL_POST_COLOR_MATRIX_RED_BIAS:
  case GL_POST_COLOR_MATRIX_GREEN_BIAS:
  case GL_POST_COLOR_MATRIX_BLUE_BIAS:
  case GL_POST_COLOR_MATRIX_ALPHA_BIAS:
    return 1;
  case GL_RESCALE_NORMAL:
    return 1;
  case GL_MAX_ELEMENTS_INDICES:
  case GL_MAX_ELEMENTS_VERTICES:
    return 1;
  case GL_ACTIVE_TEXTURE_ARB:
  case GL_CLIENT_ACTIVE_TEXTURE_ARB:
  case GL_MAX_TEXTURE_UNITS_ARB:
    return 1;
  case GL_MAX_COLOR_MATRIX_STACK_DEPTH:
  case GL_MAX_CONVOLUTION_WIDTH:
  case GL_MAX_CONVOLUTION_HEIGHT:
    return 1;
  case GL_TEXTURE_CUBE_MAP_ARB:
  case GL_TEXTURE_BINDING_CUBE_MAP_ARB:
  case GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB:
    return 1;
  default:
    return -1;
  }
}
```