const struct st_tracked_state st_update_array = {
- "st_update_array", /* name */
{ /* dirty */
_NEW_CURRENT_ATTRIB, /* mesa */
ST_NEW_VERTEX_ARRAYS | ST_NEW_VERTEX_PROGRAM, /* st */
}
const struct st_tracked_state st_bind_vs_atomics = {
- "st_bind_vs_atomics",
{
0,
ST_NEW_VERTEX_PROGRAM | ST_NEW_ATOMIC_BUFFER,
}
const struct st_tracked_state st_bind_fs_atomics = {
- "st_bind_fs_atomics",
{
0,
ST_NEW_FRAGMENT_PROGRAM | ST_NEW_ATOMIC_BUFFER,
}
const struct st_tracked_state st_bind_gs_atomics = {
- "st_bind_gs_atomics",
{
0,
ST_NEW_GEOMETRY_PROGRAM | ST_NEW_ATOMIC_BUFFER,
}
const struct st_tracked_state st_bind_tcs_atomics = {
- "st_bind_tcs_atomics",
{
0,
ST_NEW_TESSCTRL_PROGRAM | ST_NEW_ATOMIC_BUFFER,
}
const struct st_tracked_state st_bind_tes_atomics = {
- "st_bind_tes_atomics",
{
0,
ST_NEW_TESSEVAL_PROGRAM | ST_NEW_ATOMIC_BUFFER,
}
const struct st_tracked_state st_bind_cs_atomics = {
- "st_bind_cs_atomics",
{
0,
ST_NEW_COMPUTE_PROGRAM | ST_NEW_ATOMIC_BUFFER,
const struct st_tracked_state st_update_blend = {
- "st_update_blend", /* name */
{ /* dirty */
(_NEW_COLOR | _NEW_MULTISAMPLE), /* XXX _NEW_BLEND someday? */ /* mesa */
0, /* st */
const struct st_tracked_state st_update_clip = {
- "st_update_clip", /* name */
{ /* dirty */
_NEW_TRANSFORM | _NEW_PROJECTION, /* mesa */
ST_NEW_VERTEX_PROGRAM, /* st */
const struct st_tracked_state st_update_vs_constants = {
- "st_update_vs_constants", /* name */
{ /* dirty */
_NEW_PROGRAM_CONSTANTS, /* mesa */
ST_NEW_VERTEX_PROGRAM, /* st */
const struct st_tracked_state st_update_fs_constants = {
- "st_update_fs_constants", /* name */
{ /* dirty */
_NEW_PROGRAM_CONSTANTS, /* mesa */
ST_NEW_FRAGMENT_PROGRAM, /* st */
}
const struct st_tracked_state st_update_gs_constants = {
- "st_update_gs_constants", /* name */
{ /* dirty */
_NEW_PROGRAM_CONSTANTS, /* mesa */
ST_NEW_GEOMETRY_PROGRAM, /* st */
}
const struct st_tracked_state st_update_tcs_constants = {
- "st_update_tcs_constants", /* name */
{ /* dirty */
_NEW_PROGRAM_CONSTANTS, /* mesa */
ST_NEW_TESSCTRL_PROGRAM, /* st */
}
const struct st_tracked_state st_update_tes_constants = {
- "st_update_tes_constants", /* name */
{ /* dirty */
_NEW_PROGRAM_CONSTANTS, /* mesa */
ST_NEW_TESSEVAL_PROGRAM, /* st */
}
const struct st_tracked_state st_update_cs_constants = {
- "st_update_cs_constants", /* name */
{ /* dirty */
_NEW_PROGRAM_CONSTANTS, /* mesa */
ST_NEW_COMPUTE_PROGRAM, /* st */
}
const struct st_tracked_state st_bind_vs_ubos = {
- "st_bind_vs_ubos",
{
0,
ST_NEW_VERTEX_PROGRAM | ST_NEW_UNIFORM_BUFFER,
}
const struct st_tracked_state st_bind_fs_ubos = {
- "st_bind_fs_ubos",
{
0,
ST_NEW_FRAGMENT_PROGRAM | ST_NEW_UNIFORM_BUFFER,
}
const struct st_tracked_state st_bind_gs_ubos = {
- "st_bind_gs_ubos",
{
0,
ST_NEW_GEOMETRY_PROGRAM | ST_NEW_UNIFORM_BUFFER,
}
const struct st_tracked_state st_bind_tcs_ubos = {
- "st_bind_tcs_ubos",
{
0,
ST_NEW_TESSCTRL_PROGRAM | ST_NEW_UNIFORM_BUFFER,
}
const struct st_tracked_state st_bind_tes_ubos = {
- "st_bind_tes_ubos",
{
0,
ST_NEW_TESSEVAL_PROGRAM | ST_NEW_UNIFORM_BUFFER,
}
const struct st_tracked_state st_bind_cs_ubos = {
- "st_bind_cs_ubos",
{
0,
ST_NEW_COMPUTE_PROGRAM | ST_NEW_UNIFORM_BUFFER,
const struct st_tracked_state st_update_depth_stencil_alpha = {
- "st_update_depth_stencil", /* name */
{ /* dirty */
(_NEW_DEPTH|_NEW_STENCIL|_NEW_COLOR|_NEW_BUFFERS),/* mesa */
0, /* st */
const struct st_tracked_state st_update_framebuffer = {
- "st_update_framebuffer", /* name */
{ /* dirty */
_NEW_BUFFERS, /* mesa */
ST_NEW_FRAMEBUFFER, /* st */
}
const struct st_tracked_state st_bind_vs_images = {
- "st_bind_vs_images",
{
_NEW_TEXTURE,
ST_NEW_VERTEX_PROGRAM | ST_NEW_IMAGE_UNITS,
}
const struct st_tracked_state st_bind_fs_images = {
- "st_bind_fs_images",
{
_NEW_TEXTURE,
ST_NEW_FRAGMENT_PROGRAM | ST_NEW_IMAGE_UNITS,
}
const struct st_tracked_state st_bind_gs_images = {
- "st_bind_gs_images",
{
_NEW_TEXTURE,
ST_NEW_GEOMETRY_PROGRAM | ST_NEW_IMAGE_UNITS,
}
const struct st_tracked_state st_bind_tcs_images = {
- "st_bind_tcs_images",
{
_NEW_TEXTURE,
ST_NEW_TESSCTRL_PROGRAM | ST_NEW_IMAGE_UNITS,
}
const struct st_tracked_state st_bind_tes_images = {
- "st_bind_tes_images",
{
_NEW_TEXTURE,
ST_NEW_TESSEVAL_PROGRAM | ST_NEW_IMAGE_UNITS,
}
const struct st_tracked_state st_bind_cs_images = {
- "st_bind_cs_images",
{
_NEW_TEXTURE,
ST_NEW_COMPUTE_PROGRAM | ST_NEW_IMAGE_UNITS,
}
const struct st_tracked_state st_update_msaa = {
- "st_update_msaa", /* name */
{ /* dirty */
(_NEW_MULTISAMPLE | _NEW_BUFFERS), /* mesa */
ST_NEW_FRAMEBUFFER, /* st */
};
const struct st_tracked_state st_update_sample_shading = {
- "st_update_sample_shading", /* name */
{ /* dirty */
(_NEW_MULTISAMPLE | _NEW_PROGRAM | _NEW_BUFFERS), /* mesa */
ST_NEW_FRAGMENT_PROGRAM | ST_NEW_FRAMEBUFFER, /* st */
const struct st_tracked_state st_update_pixel_transfer = {
- "st_update_pixel_transfer", /* name */
{ /* dirty */
_NEW_PIXEL, /* mesa */
0, /* st */
}
const struct st_tracked_state st_update_rasterizer = {
- "st_update_rasterizer", /* name */
{
(_NEW_BUFFERS |
_NEW_LIGHT |
const struct st_tracked_state st_update_sampler = {
- "st_update_sampler", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
0, /* st */
}
const struct st_tracked_state st_update_scissor = {
- "st_update_scissor", /* name */
{ /* dirty */
(_NEW_SCISSOR | _NEW_BUFFERS), /* mesa */
0, /* st */
};
const struct st_tracked_state st_update_window_rectangles = {
- "st_update_window_rectangles", /* name */
{ /* dirty */
(_NEW_SCISSOR | _NEW_BUFFERS), /* mesa */
0, /* st */
const struct st_tracked_state st_update_fp = {
- "st_update_fp", /* name */
{ /* dirty */
_NEW_BUFFERS | _NEW_MULTISAMPLE | _NEW_FOG, /* mesa */
ST_NEW_FRAGMENT_PROGRAM /* st */
const struct st_tracked_state st_update_vp = {
- "st_update_vp", /* name */
{ /* dirty */
0, /* mesa */
ST_NEW_VERTEX_PROGRAM /* st */
}
const struct st_tracked_state st_update_gp = {
- "st_update_gp", /* name */
{ /* dirty */
0, /* mesa */
ST_NEW_GEOMETRY_PROGRAM /* st */
}
const struct st_tracked_state st_update_tcp = {
- "st_update_tcp", /* name */
{ /* dirty */
0, /* mesa */
ST_NEW_TESSCTRL_PROGRAM /* st */
}
const struct st_tracked_state st_update_tep = {
- "st_update_tep", /* name */
{ /* dirty */
0, /* mesa */
ST_NEW_TESSEVAL_PROGRAM /* st */
}
const struct st_tracked_state st_update_cp = {
- "st_update_cp", /* name */
{ /* dirty */
0, /* mesa */
ST_NEW_COMPUTE_PROGRAM /* st */
/** Update the stipple when the pattern or window height changes */
const struct st_tracked_state st_update_polygon_stipple = {
- "st_update_polygon_stipple", /* name */
{ /* dirty */
(_NEW_POLYGONSTIPPLE |
_NEW_BUFFERS), /* mesa */
}
const struct st_tracked_state st_bind_vs_ssbos = {
- "st_bind_vs_ssbos",
{
0,
ST_NEW_VERTEX_PROGRAM | ST_NEW_STORAGE_BUFFER,
}
const struct st_tracked_state st_bind_fs_ssbos = {
- "st_bind_fs_ssbos",
{
0,
ST_NEW_FRAGMENT_PROGRAM | ST_NEW_STORAGE_BUFFER,
}
const struct st_tracked_state st_bind_gs_ssbos = {
- "st_bind_gs_ssbos",
{
0,
ST_NEW_GEOMETRY_PROGRAM | ST_NEW_STORAGE_BUFFER,
}
const struct st_tracked_state st_bind_tcs_ssbos = {
- "st_bind_tcs_ssbos",
{
0,
ST_NEW_TESSCTRL_PROGRAM | ST_NEW_STORAGE_BUFFER,
}
const struct st_tracked_state st_bind_tes_ssbos = {
- "st_bind_tes_ssbos",
{
0,
ST_NEW_TESSEVAL_PROGRAM | ST_NEW_STORAGE_BUFFER,
}
const struct st_tracked_state st_bind_cs_ssbos = {
- "st_bind_cs_ssbos",
{
0,
ST_NEW_COMPUTE_PROGRAM | ST_NEW_STORAGE_BUFFER,
const struct st_tracked_state st_update_tess = {
- "update_tess", /* name */
{ /* dirty */
0, /* mesa */
ST_NEW_TESS_STATE, /* st */
const struct st_tracked_state st_update_fragment_texture = {
- "st_update_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
ST_NEW_FRAGMENT_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
const struct st_tracked_state st_update_vertex_texture = {
- "st_update_vertex_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
ST_NEW_VERTEX_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
const struct st_tracked_state st_update_geometry_texture = {
- "st_update_geometry_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
ST_NEW_GEOMETRY_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
const struct st_tracked_state st_update_tessctrl_texture = {
- "st_update_tessctrl_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
ST_NEW_TESSCTRL_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
const struct st_tracked_state st_update_tesseval_texture = {
- "st_update_tesseval_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
ST_NEW_TESSEVAL_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
const struct st_tracked_state st_update_compute_texture = {
- "st_update_compute_texture", /* name */
{ /* dirty */
_NEW_TEXTURE, /* mesa */
ST_NEW_COMPUTE_PROGRAM | ST_NEW_SAMPLER_VIEWS, /* st */
const struct st_tracked_state st_update_viewport = {
- "st_update_viewport", /* name */
{ /* dirty */
_NEW_BUFFERS | _NEW_VIEWPORT, /* mesa */
0, /* st */
};
struct st_tracked_state {
- const char *name;
struct st_state_flags dirty;
void (*update)( struct st_context *st );
};