st/mesa: completely rewrite state atoms
[mesa.git] / src / mesa / state_tracker / st_atom_list.h
1 /* Render (non-compute) states must be first. */
2 ST_STATE(ST_NEW_DSA, st_update_depth_stencil_alpha)
3 ST_STATE(ST_NEW_CLIP_STATE, st_update_clip)
4
5 ST_STATE(ST_NEW_FS_STATE, st_update_fp)
6 ST_STATE(ST_NEW_GS_STATE, st_update_gp)
7 ST_STATE(ST_NEW_TES_STATE, st_update_tep)
8 ST_STATE(ST_NEW_TCS_STATE, st_update_tcp)
9 ST_STATE(ST_NEW_VS_STATE, st_update_vp)
10
11 ST_STATE(ST_NEW_RASTERIZER, st_update_rasterizer)
12 ST_STATE(ST_NEW_POLY_STIPPLE, st_update_polygon_stipple)
13 ST_STATE(ST_NEW_VIEWPORT, st_update_viewport)
14 ST_STATE(ST_NEW_SCISSOR, st_update_scissor)
15 ST_STATE(ST_NEW_WINDOW_RECTANGLES, st_update_window_rectangles)
16 ST_STATE(ST_NEW_BLEND, st_update_blend)
17
18 ST_STATE(ST_NEW_VS_SAMPLER_VIEWS, st_update_vertex_texture)
19 ST_STATE(ST_NEW_FS_SAMPLER_VIEWS, st_update_fragment_texture)
20 ST_STATE(ST_NEW_GS_SAMPLER_VIEWS, st_update_geometry_texture)
21 ST_STATE(ST_NEW_TCS_SAMPLER_VIEWS, st_update_tessctrl_texture)
22 ST_STATE(ST_NEW_TES_SAMPLER_VIEWS, st_update_tesseval_texture)
23
24 /* Non-compute samplers. */
25 ST_STATE(ST_NEW_RENDER_SAMPLERS, st_update_sampler) /* depends on update_*_texture for swizzle */
26
27 ST_STATE(ST_NEW_VS_IMAGES, st_bind_vs_images)
28 ST_STATE(ST_NEW_TCS_IMAGES, st_bind_tcs_images)
29 ST_STATE(ST_NEW_TES_IMAGES, st_bind_tes_images)
30 ST_STATE(ST_NEW_GS_IMAGES, st_bind_gs_images)
31 ST_STATE(ST_NEW_FS_IMAGES, st_bind_fs_images)
32
33 ST_STATE(ST_NEW_FB_STATE, st_update_framebuffer) /* depends on update_*_texture and bind_*_images */
34 ST_STATE(ST_NEW_SAMPLE_MASK, st_update_msaa)
35 ST_STATE(ST_NEW_SAMPLE_SHADING, st_update_sample_shading)
36
37 ST_STATE(ST_NEW_VS_CONSTANTS, st_update_vs_constants)
38 ST_STATE(ST_NEW_TCS_CONSTANTS, st_update_tcs_constants)
39 ST_STATE(ST_NEW_TES_CONSTANTS, st_update_tes_constants)
40 ST_STATE(ST_NEW_GS_CONSTANTS, st_update_gs_constants)
41 ST_STATE(ST_NEW_FS_CONSTANTS, st_update_fs_constants)
42
43 ST_STATE(ST_NEW_VS_UBOS, st_bind_vs_ubos)
44 ST_STATE(ST_NEW_TCS_UBOS, st_bind_tcs_ubos)
45 ST_STATE(ST_NEW_TES_UBOS, st_bind_tes_ubos)
46 ST_STATE(ST_NEW_FS_UBOS, st_bind_fs_ubos)
47 ST_STATE(ST_NEW_GS_UBOS, st_bind_gs_ubos)
48
49 ST_STATE(ST_NEW_VS_ATOMICS, st_bind_vs_atomics)
50 ST_STATE(ST_NEW_TCS_ATOMICS, st_bind_tcs_atomics)
51 ST_STATE(ST_NEW_TES_ATOMICS, st_bind_tes_atomics)
52 ST_STATE(ST_NEW_FS_ATOMICS, st_bind_fs_atomics)
53 ST_STATE(ST_NEW_GS_ATOMICS, st_bind_gs_atomics)
54
55 ST_STATE(ST_NEW_VS_SSBOS, st_bind_vs_ssbos)
56 ST_STATE(ST_NEW_TCS_SSBOS, st_bind_tcs_ssbos)
57 ST_STATE(ST_NEW_TES_SSBOS, st_bind_tes_ssbos)
58 ST_STATE(ST_NEW_FS_SSBOS, st_bind_fs_ssbos)
59 ST_STATE(ST_NEW_GS_SSBOS, st_bind_gs_ssbos)
60
61 ST_STATE(ST_NEW_PIXEL_TRANSFER, st_update_pixel_transfer)
62 ST_STATE(ST_NEW_TESS_STATE, st_update_tess)
63
64 /* this must be done after the vertex program update */
65 ST_STATE(ST_NEW_VERTEX_ARRAYS, st_update_array)
66
67 /* Compute states must be last. */
68 ST_STATE(ST_NEW_CS_STATE, st_update_cp)
69 ST_STATE(ST_NEW_CS_SAMPLER_VIEWS, st_update_compute_texture)
70 ST_STATE(ST_NEW_CS_SAMPLERS, st_update_sampler) /* depends on update_compute_texture for swizzle */
71 ST_STATE(ST_NEW_CS_CONSTANTS, st_update_cs_constants)
72 ST_STATE(ST_NEW_CS_UBOS, st_bind_cs_ubos)
73 ST_STATE(ST_NEW_CS_ATOMICS, st_bind_cs_atomics)
74 ST_STATE(ST_NEW_CS_SSBOS, st_bind_cs_ssbos)
75 ST_STATE(ST_NEW_CS_IMAGES, st_bind_cs_images)