ilo: new pipe driver for Intel GEN6+
[mesa.git] / src / gallium / drivers / ilo / ilo_state.c
1 /*
2 * Mesa 3-D graphics library
3 *
4 * Copyright (C) 2012-2013 LunarG, Inc.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included
14 * in all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 *
24 * Authors:
25 * Chia-I Wu <olv@lunarg.com>
26 */
27
28 #include "ilo_context.h"
29 #include "ilo_state.h"
30
31 /**
32 * Initialize state-related functions.
33 */
34 void
35 ilo_init_state_functions(struct ilo_context *ilo)
36 {
37 ilo->base.create_blend_state = NULL;
38 ilo->base.bind_blend_state = NULL;
39 ilo->base.delete_blend_state = NULL;
40 ilo->base.create_sampler_state = NULL;
41 ilo->base.bind_fragment_sampler_states = NULL;
42 ilo->base.bind_vertex_sampler_states = NULL;
43 ilo->base.bind_geometry_sampler_states = NULL;
44 ilo->base.bind_compute_sampler_states = NULL;
45 ilo->base.delete_sampler_state = NULL;
46 ilo->base.create_rasterizer_state = NULL;
47 ilo->base.bind_rasterizer_state = NULL;
48 ilo->base.delete_rasterizer_state = NULL;
49 ilo->base.create_depth_stencil_alpha_state = NULL;
50 ilo->base.bind_depth_stencil_alpha_state = NULL;
51 ilo->base.delete_depth_stencil_alpha_state = NULL;
52 ilo->base.create_fs_state = NULL;
53 ilo->base.bind_fs_state = NULL;
54 ilo->base.delete_fs_state = NULL;
55 ilo->base.create_vs_state = NULL;
56 ilo->base.bind_vs_state = NULL;
57 ilo->base.delete_vs_state = NULL;
58 ilo->base.create_gs_state = NULL;
59 ilo->base.bind_gs_state = NULL;
60 ilo->base.delete_gs_state = NULL;
61 ilo->base.create_vertex_elements_state = NULL;
62 ilo->base.bind_vertex_elements_state = NULL;
63 ilo->base.delete_vertex_elements_state = NULL;
64
65 ilo->base.set_blend_color = NULL;
66 ilo->base.set_stencil_ref = NULL;
67 ilo->base.set_sample_mask = NULL;
68 ilo->base.set_clip_state = NULL;
69 ilo->base.set_constant_buffer = NULL;
70 ilo->base.set_framebuffer_state = NULL;
71 ilo->base.set_polygon_stipple = NULL;
72 ilo->base.set_scissor_state = NULL;
73 ilo->base.set_viewport_state = NULL;
74 ilo->base.set_fragment_sampler_views = NULL;
75 ilo->base.set_vertex_sampler_views = NULL;
76 ilo->base.set_geometry_sampler_views = NULL;
77 ilo->base.set_compute_sampler_views = NULL;
78 ilo->base.set_shader_resources = NULL;
79 ilo->base.set_vertex_buffers = NULL;
80 ilo->base.set_index_buffer = NULL;
81
82 ilo->base.create_stream_output_target = NULL;
83 ilo->base.stream_output_target_destroy = NULL;
84 ilo->base.set_stream_output_targets = NULL;
85
86 ilo->base.create_sampler_view = NULL;
87 ilo->base.sampler_view_destroy = NULL;
88
89 ilo->base.create_surface = NULL;
90 ilo->base.surface_destroy = NULL;
91
92 ilo->base.create_compute_state = NULL;
93 ilo->base.bind_compute_state = NULL;
94 ilo->base.delete_compute_state = NULL;
95 ilo->base.set_compute_resources = NULL;
96 ilo->base.set_global_binding = NULL;
97 }