const struct st_tracked_state st_update_blend = {
- .name = "st_update_blend",
- .dirty = {
- .mesa = (_NEW_COLOR), /* XXX _NEW_BLEND someday? */
- .st = 0,
+ "st_update_blend", /* name */
+ { /* dirty */
+ (_NEW_COLOR), /* XXX _NEW_BLEND someday? */ /* mesa */
+ 0, /* st */
},
- .update = update_blend
+ update_blend, /* update */
};
-
-
-
-
-
const struct st_tracked_state st_update_clip = {
- .name = "st_update_clip",
- .dirty = {
- .mesa = (_NEW_TRANSFORM),
- .st = 0,
+ "st_update_clip", /* name */
+ { /* dirty */
+ (_NEW_TRANSFORM), /* mesa */
+ 0, /* st */
},
- .update = update_clip
+ update_clip /* update */
};
-
-
-
-
-
}
const struct st_tracked_state st_update_vs_constants = {
- .name = "st_update_vs_constants",
- .dirty = {
- .mesa = 0, /* set dynamically above */
- .st = ST_NEW_VERTEX_PROGRAM,
+ "st_update_vs_constants", /* name */
+ { /* dirty */
+ 0, /* set dynamically above */ /* mesa */
+ ST_NEW_VERTEX_PROGRAM, /* st */
},
- .update = update_vs_constants
+ update_vs_constants /* update */
};
/* Fragment shader:
}
const struct st_tracked_state st_update_fs_constants = {
- .name = "st_update_fs_constants",
- .dirty = {
- .mesa = 0, /* set dynamically above */
- .st = ST_NEW_FRAGMENT_PROGRAM,
+ "st_update_fs_constants", /* name */
+ { /* dirty */
+ 0, /* set dynamically above */ /* mesa */
+ ST_NEW_FRAGMENT_PROGRAM, /* st */
},
- .update = update_fs_constants
+ update_fs_constants /* update */
};
const struct st_tracked_state st_update_depth_stencil_alpha = {
- .name = "st_update_depth_stencil",
- .dirty = {
- .mesa = (_NEW_DEPTH|_NEW_STENCIL|_NEW_COLOR),
- .st = 0,
+ "st_update_depth_stencil", /* name */
+ { /* dirty */
+ (_NEW_DEPTH|_NEW_STENCIL|_NEW_COLOR), /* mesa */
+ 0, /* st */
},
- .update = update_depth_stencil_alpha
+ update_depth_stencil_alpha /* update */
};
const struct st_tracked_state st_update_tnl = {
- .name = "st_update_tnl",
- .dirty = {
- .mesa = TNL_FIXED_FUNCTION_STATE_FLAGS,
- .st = 0
+ "st_update_tnl", /* name */
+ { /* dirty */
+ TNL_FIXED_FUNCTION_STATE_FLAGS, /* mesa */
+ 0 /* st */
},
- .update = update_tnl
+ update_tnl /* update */
};
const struct st_tracked_state st_update_framebuffer = {
- .name = "st_update_framebuffer",
- .dirty = {
- .mesa = _NEW_BUFFERS,
- .st = 0,
+ "st_update_framebuffer", /* name */
+ { /* dirty */
+ _NEW_BUFFERS, /* mesa */
+ 0, /* st */
},
- .update = update_framebuffer_state
+ update_framebuffer_state /* update */
};
const struct st_tracked_state st_update_pixel_transfer = {
- .name = "st_update_pixel_transfer",
- .dirty = {
- .mesa = _NEW_PIXEL | _NEW_COLOR_MATRIX,
- .st = 0,
+ "st_update_pixel_transfer", /* name */
+ { /* dirty */
+ _NEW_PIXEL | _NEW_COLOR_MATRIX, /* mesa */
+ 0, /* st */
},
- .update = update_pixel_transfer
+ update_pixel_transfer /* update */
};
}
const struct st_tracked_state st_update_rasterizer = {
- .name = "st_update_rasterizer",
- .dirty = {
- .mesa = (_NEW_LIGHT | _NEW_POLYGON | _NEW_LINE | _NEW_SCISSOR |
- _NEW_POINT | _NEW_BUFFERS | _NEW_MULTISAMPLE),
- .st = 0,
+ "st_update_rasterizer", /* name */
+ { /* dirty */
+ (_NEW_LIGHT | _NEW_POLYGON | _NEW_LINE | _NEW_SCISSOR | /* mesa */
+ _NEW_POINT | _NEW_BUFFERS | _NEW_MULTISAMPLE),
+ 0, /* st */
},
- .update = update_raster_state
+ update_raster_state /* update */
};
const struct st_tracked_state st_update_sampler = {
- .name = "st_update_sampler",
- .dirty = {
- .mesa = _NEW_TEXTURE,
- .st = 0,
+ "st_update_sampler", /* name */
+ { /* dirty */
+ _NEW_TEXTURE, /* mesa */
+ 0, /* st */
},
- .update = update_samplers
+ update_samplers /* update */
};
-
-
-
-
-
const struct st_tracked_state st_update_scissor = {
- .name = "st_update_scissor",
- .dirty = {
- .mesa = (_NEW_SCISSOR | _NEW_BUFFERS),
- .st = 0,
+ "st_update_scissor", /* name */
+ { /* dirty */
+ (_NEW_SCISSOR | _NEW_BUFFERS), /* mesa */
+ 0, /* st */
},
- .update = update_scissor
+ update_scissor /* update */
};
-
-
-
-
-
const struct st_tracked_state st_update_shader = {
- .name = "st_update_shader",
- .dirty = {
- .mesa = 0,
- .st = ST_NEW_VERTEX_PROGRAM | ST_NEW_FRAGMENT_PROGRAM
+ "st_update_shader", /* name */
+ { /* dirty */
+ 0, /* mesa */
+ ST_NEW_VERTEX_PROGRAM | ST_NEW_FRAGMENT_PROGRAM /* st */
},
- .update = update_linkage
+ update_linkage /* update */
};
const struct st_tracked_state st_update_polygon_stipple = {
- .name = "st_update_polygon_stipple",
- .dirty = {
- .mesa = (_NEW_POLYGONSTIPPLE),
- .st = 0,
+ "st_update_polygon_stipple", /* name */
+ { /* dirty */
+ (_NEW_POLYGONSTIPPLE), /* mesa */
+ 0, /* st */
},
- .update = update_stipple
+ update_stipple /* update */
};
const struct st_tracked_state st_update_texture = {
- .name = "st_update_texture",
- .dirty = {
- .mesa = _NEW_TEXTURE,
- .st = ST_NEW_FRAGMENT_PROGRAM,
+ "st_update_texture", /* name */
+ { /* dirty */
+ _NEW_TEXTURE, /* mesa */
+ ST_NEW_FRAGMENT_PROGRAM, /* st */
},
- .update = update_textures
+ update_textures /* update */
};
-
-
-
-
-
const struct st_tracked_state st_update_viewport = {
- .name = "st_update_viewport",
- .dirty = {
- .mesa = _NEW_BUFFERS | _NEW_VIEWPORT,
- .st = 0,
+ "st_update_viewport", /* name */
+ { /* dirty */
+ _NEW_BUFFERS | _NEW_VIEWPORT, /* mesa */
+ 0, /* st */
},
- .update = update_viewport
+ update_viewport /* update */
};
#include "main/glheader.h"
#include "main/macros.h"
#include "shader/prog_instruction.h"
-#include "st_atom.h"
#include "st_context.h"
+#include "st_atom.h"
#include "st_cb_accum.h"
#include "st_cb_clear.h"
#include "st_cb_fbo.h"
#include "vbo/vbo.h"
-#include "st_atom.h"
#include "st_context.h"
+#include "st_atom.h"
#include "st_cb_bufferobjects.h"
#include "st_draw.h"
#include "st_program.h"
unsigned indexSize;
struct gl_buffer_object *bufobj = ib->obj;
struct st_buffer_object *stobj = st_buffer_object(bufobj);
- index_buffer_handle = stobj->buffer;
void *map;
+ index_buffer_handle = stobj->buffer;
+
switch (ib->type) {
case GL_UNSIGNED_INT:
indexSize = 4;
#include "st_extensions.h"
-static int min(int a, int b)
+static int _min(int a, int b)
{
return (a < b) ? a : b;
}
-static int max(int a, int b)
+static int _max(int a, int b)
{
return (a > b) ? a : b;
}
-static int clamp(int a, int min, int max)
+static int _clamp(int a, int min, int max)
{
if (a < min)
return min;
struct gl_constants *c = &st->ctx->Const;
c->MaxTextureLevels
- = min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_2D_LEVELS),
+ = _min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_2D_LEVELS),
MAX_TEXTURE_LEVELS);
c->Max3DTextureLevels
- = min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_3D_LEVELS),
+ = _min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_3D_LEVELS),
MAX_3D_TEXTURE_LEVELS);
c->MaxCubeTextureLevels
- = min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS),
+ = _min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS),
MAX_CUBE_TEXTURE_LEVELS);
c->MaxTextureRectSize
- = min(1 << (c->MaxTextureLevels - 1), MAX_TEXTURE_RECT_SIZE);
+ = _min(1 << (c->MaxTextureLevels - 1), MAX_TEXTURE_RECT_SIZE);
c->MaxTextureUnits
= c->MaxTextureImageUnits
= c->MaxTextureCoordUnits
- = min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS),
+ = _min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS),
MAX_TEXTURE_IMAGE_UNITS);
c->MaxDrawBuffers
- = clamp(screen->get_param(screen, PIPE_CAP_MAX_RENDER_TARGETS),
+ = _clamp(screen->get_param(screen, PIPE_CAP_MAX_RENDER_TARGETS),
1, MAX_DRAW_BUFFERS);
c->MaxLineWidth
- = max(1.0, screen->get_paramf(screen, PIPE_CAP_MAX_LINE_WIDTH));
+ = _max(1.0, screen->get_paramf(screen, PIPE_CAP_MAX_LINE_WIDTH));
c->MaxLineWidthAA
- = max(1.0, screen->get_paramf(screen, PIPE_CAP_MAX_LINE_WIDTH_AA));
+ = _max(1.0, screen->get_paramf(screen, PIPE_CAP_MAX_LINE_WIDTH_AA));
c->MaxPointSize
- = max(1.0, screen->get_paramf(screen, PIPE_CAP_MAX_POINT_WIDTH));
+ = _max(1.0, screen->get_paramf(screen, PIPE_CAP_MAX_POINT_WIDTH));
c->MaxPointSizeAA
- = max(1.0, screen->get_paramf(screen, PIPE_CAP_MAX_POINT_WIDTH_AA));
+ = _max(1.0, screen->get_paramf(screen, PIPE_CAP_MAX_POINT_WIDTH_AA));
c->MaxTextureMaxAnisotropy
- = max(2.0, screen->get_paramf(screen, PIPE_CAP_MAX_TEXTURE_ANISOTROPY));
+ = _max(2.0, screen->get_paramf(screen, PIPE_CAP_MAX_TEXTURE_ANISOTROPY));
c->MaxTextureLodBias
= screen->get_paramf(screen, PIPE_CAP_MAX_TEXTURE_LOD_BIAS);