struct marshal_cmd_BufferSubData;
struct marshal_cmd_NamedBufferData;
struct marshal_cmd_NamedBufferSubData;
-struct marshal_cmd_ClearBuffer;
-#define marshal_cmd_ClearBufferfv marshal_cmd_ClearBuffer
-#define marshal_cmd_ClearBufferiv marshal_cmd_ClearBuffer
-#define marshal_cmd_ClearBufferuiv marshal_cmd_ClearBuffer
-#define marshal_cmd_ClearBufferfi marshal_cmd_ClearBuffer
void
_mesa_unmarshal_Enable(struct gl_context *ctx,
_mesa_marshal_NamedBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr size,
const GLvoid * data);
-void
-_mesa_unmarshal_ClearBufferfv(struct gl_context *ctx,
- const struct marshal_cmd_ClearBuffer *cmd);
+static inline unsigned
+_mesa_buffer_enum_to_count(GLenum buffer)
+{
+ switch (buffer) {
+ case GL_COLOR:
+ return 4;
+ case GL_DEPTH_STENCIL:
+ return 2;
+ case GL_STENCIL:
+ case GL_DEPTH:
+ return 1;
+ default:
+ return 0;
+ }
+}
-void GLAPIENTRY
-_mesa_marshal_ClearBufferfv(GLenum buffer, GLint drawbuffer,
- const GLfloat *value);
+static inline unsigned
+_mesa_tex_param_enum_to_count(GLenum pname)
+{
+ switch (pname) {
+ case GL_TEXTURE_MIN_FILTER:
+ case GL_TEXTURE_MAG_FILTER:
+ case GL_TEXTURE_WRAP_S:
+ case GL_TEXTURE_WRAP_T:
+ case GL_TEXTURE_WRAP_R:
+ case GL_TEXTURE_BASE_LEVEL:
+ case GL_TEXTURE_MAX_LEVEL:
+ case GL_GENERATE_MIPMAP_SGIS:
+ case GL_TEXTURE_COMPARE_MODE_ARB:
+ case GL_TEXTURE_COMPARE_FUNC_ARB:
+ case GL_DEPTH_TEXTURE_MODE_ARB:
+ case GL_DEPTH_STENCIL_TEXTURE_MODE:
+ case GL_TEXTURE_SRGB_DECODE_EXT:
+ case GL_TEXTURE_CUBE_MAP_SEAMLESS:
+ case GL_TEXTURE_SWIZZLE_R:
+ case GL_TEXTURE_SWIZZLE_G:
+ case GL_TEXTURE_SWIZZLE_B:
+ case GL_TEXTURE_SWIZZLE_A:
+ case GL_TEXTURE_MIN_LOD:
+ case GL_TEXTURE_MAX_LOD:
+ case GL_TEXTURE_PRIORITY:
+ case GL_TEXTURE_MAX_ANISOTROPY_EXT:
+ case GL_TEXTURE_LOD_BIAS:
+ case GL_TEXTURE_TILING_EXT:
+ return 1;
+ case GL_TEXTURE_CROP_RECT_OES:
+ case GL_TEXTURE_SWIZZLE_RGBA:
+ case GL_TEXTURE_BORDER_COLOR:
+ return 4;
+ default:
+ return 0;
+ }
+}
-void
-_mesa_unmarshal_ClearBufferiv(struct gl_context *ctx,
- const struct marshal_cmd_ClearBuffer *cmd);
+static inline unsigned
+_mesa_fog_enum_to_count(GLenum pname)
+{
+ switch (pname) {
+ case GL_FOG_MODE:
+ case GL_FOG_DENSITY:
+ case GL_FOG_START:
+ case GL_FOG_END:
+ case GL_FOG_INDEX:
+ case GL_FOG_COORDINATE_SOURCE_EXT:
+ case GL_FOG_DISTANCE_MODE_NV:
+ return 1;
+ case GL_FOG_COLOR:
+ return 4;
+ default:
+ return 0;
+ }
+}
-void GLAPIENTRY
-_mesa_marshal_ClearBufferiv(GLenum buffer, GLint drawbuffer,
- const GLint *value);
+static inline unsigned
+_mesa_light_enum_to_count(GLenum pname)
+{
+ switch (pname) {
+ case GL_AMBIENT:
+ case GL_DIFFUSE:
+ case GL_SPECULAR:
+ case GL_POSITION:
+ return 4;
+ case GL_SPOT_DIRECTION:
+ return 3;
+ case GL_SPOT_EXPONENT:
+ case GL_SPOT_CUTOFF:
+ case GL_CONSTANT_ATTENUATION:
+ case GL_LINEAR_ATTENUATION:
+ case GL_QUADRATIC_ATTENUATION:
+ return 1;
+ default:
+ return 0;
+ }
+}
-void
-_mesa_unmarshal_ClearBufferuiv(struct gl_context *ctx,
- const struct marshal_cmd_ClearBuffer *cmd);
+static inline unsigned
+_mesa_light_model_enum_to_count(GLenum pname)
+{
+ switch (pname) {
+ case GL_LIGHT_MODEL_AMBIENT:
+ return 4;
+ case GL_LIGHT_MODEL_LOCAL_VIEWER:
+ case GL_LIGHT_MODEL_TWO_SIDE:
+ case GL_LIGHT_MODEL_COLOR_CONTROL:
+ return 1;
+ default:
+ return 0;
+ }
+}
-void GLAPIENTRY
-_mesa_marshal_ClearBufferuiv(GLenum buffer, GLint drawbuffer,
- const GLuint *value);
+static inline unsigned
+_mesa_texenv_enum_to_count(GLenum pname)
+{
+ switch (pname) {
+ case GL_TEXTURE_ENV_MODE:
+ case GL_COMBINE_RGB:
+ case GL_COMBINE_ALPHA:
+ case GL_SOURCE0_RGB:
+ case GL_SOURCE1_RGB:
+ case GL_SOURCE2_RGB:
+ case GL_SOURCE3_RGB_NV:
+ case GL_SOURCE0_ALPHA:
+ case GL_SOURCE1_ALPHA:
+ case GL_SOURCE2_ALPHA:
+ case GL_SOURCE3_ALPHA_NV:
+ case GL_OPERAND0_RGB:
+ case GL_OPERAND1_RGB:
+ case GL_OPERAND2_RGB:
+ case GL_OPERAND3_RGB_NV:
+ case GL_OPERAND0_ALPHA:
+ case GL_OPERAND1_ALPHA:
+ case GL_OPERAND2_ALPHA:
+ case GL_OPERAND3_ALPHA_NV:
+ case GL_RGB_SCALE:
+ case GL_ALPHA_SCALE:
+ case GL_TEXTURE_LOD_BIAS_EXT:
+ case GL_COORD_REPLACE_NV:
+ return 1;
+ case GL_TEXTURE_ENV_COLOR:
+ return 4;
+ default:
+ return 0;
+ }
+}
-void
-_mesa_unmarshal_ClearBufferfi(struct gl_context *ctx,
- const struct marshal_cmd_ClearBuffer *cmd);
+static inline unsigned
+_mesa_texgen_enum_to_count(GLenum pname)
+{
+ switch (pname) {
+ case GL_TEXTURE_GEN_MODE:
+ return 1;
+ case GL_OBJECT_PLANE:
+ case GL_EYE_PLANE:
+ return 4;
+ default:
+ return 0;
+ }
+}
-void GLAPIENTRY
-_mesa_marshal_ClearBufferfi(GLenum buffer, GLint drawbuffer,
- const GLfloat depth, const GLint stencil);
+static inline unsigned
+_mesa_material_enum_to_count(GLenum pname)
+{
+ switch (pname) {
+ case GL_EMISSION:
+ case GL_AMBIENT:
+ case GL_DIFFUSE:
+ case GL_SPECULAR:
+ case GL_AMBIENT_AND_DIFFUSE:
+ return 4;
+ case GL_COLOR_INDEXES:
+ return 3;
+ case GL_SHININESS:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+static inline unsigned
+_mesa_point_param_enum_to_count(GLenum pname)
+{
+ switch (pname) {
+ case GL_DISTANCE_ATTENUATION_EXT:
+ return 3;
+ case GL_POINT_SIZE_MIN_EXT:
+ case GL_POINT_SIZE_MAX_EXT:
+ case GL_POINT_FADE_THRESHOLD_SIZE_EXT:
+ case GL_POINT_SPRITE_R_MODE_NV:
+ case GL_POINT_SPRITE_COORD_ORIGIN:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+static inline unsigned
+_mesa_calllists_enum_to_count(GLenum type)
+{
+ switch (type) {
+ case GL_BYTE:
+ case GL_UNSIGNED_BYTE:
+ return 1;
+ case GL_SHORT:
+ case GL_UNSIGNED_SHORT:
+ case GL_2_BYTES:
+ return 2;
+ case GL_3_BYTES:
+ return 3;
+ case GL_INT:
+ case GL_UNSIGNED_INT:
+ case GL_FLOAT:
+ case GL_4_BYTES:
+ return 4;
+ default:
+ return 0;
+ }
+}
+
+static inline unsigned
+_mesa_patch_param_enum_to_count(GLenum pname)
+{
+ switch (pname) {
+ case GL_PATCH_DEFAULT_OUTER_LEVEL:
+ return 4;
+ case GL_PATCH_DEFAULT_INNER_LEVEL:
+ return 2;
+ default:
+ return 0;
+ }
+}
#endif /* MARSHAL_H */