static void
-galahad_destroy(struct pipe_context *_pipe)
+galahad_context_destroy(struct pipe_context *_pipe)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
struct pipe_context *pipe = glhd_pipe->pipe;
}
static void
-galahad_draw_vbo(struct pipe_context *_pipe,
+galahad_context_draw_vbo(struct pipe_context *_pipe,
const struct pipe_draw_info *info)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static struct pipe_query *
-galahad_create_query(struct pipe_context *_pipe,
+galahad_context_create_query(struct pipe_context *_pipe,
unsigned query_type)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_destroy_query(struct pipe_context *_pipe,
+galahad_context_destroy_query(struct pipe_context *_pipe,
struct pipe_query *query)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_begin_query(struct pipe_context *_pipe,
+galahad_context_begin_query(struct pipe_context *_pipe,
struct pipe_query *query)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_end_query(struct pipe_context *_pipe,
+galahad_context_end_query(struct pipe_context *_pipe,
struct pipe_query *query)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static boolean
-galahad_get_query_result(struct pipe_context *_pipe,
+galahad_context_get_query_result(struct pipe_context *_pipe,
struct pipe_query *query,
boolean wait,
union pipe_query_result *result)
}
static void *
-galahad_create_blend_state(struct pipe_context *_pipe,
+galahad_context_create_blend_state(struct pipe_context *_pipe,
const struct pipe_blend_state *blend)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_bind_blend_state(struct pipe_context *_pipe,
+galahad_context_bind_blend_state(struct pipe_context *_pipe,
void *blend)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_delete_blend_state(struct pipe_context *_pipe,
+galahad_context_delete_blend_state(struct pipe_context *_pipe,
void *blend)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void *
-galahad_create_sampler_state(struct pipe_context *_pipe,
+galahad_context_create_sampler_state(struct pipe_context *_pipe,
const struct pipe_sampler_state *sampler)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_bind_fragment_sampler_states(struct pipe_context *_pipe,
+galahad_context_bind_fragment_sampler_states(struct pipe_context *_pipe,
unsigned num_samplers,
void **samplers)
{
}
static void
-galahad_bind_vertex_sampler_states(struct pipe_context *_pipe,
+galahad_context_bind_vertex_sampler_states(struct pipe_context *_pipe,
unsigned num_samplers,
void **samplers)
{
}
static void
-galahad_delete_sampler_state(struct pipe_context *_pipe,
+galahad_context_delete_sampler_state(struct pipe_context *_pipe,
void *sampler)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void *
-galahad_create_rasterizer_state(struct pipe_context *_pipe,
+galahad_context_create_rasterizer_state(struct pipe_context *_pipe,
const struct pipe_rasterizer_state *rasterizer)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_bind_rasterizer_state(struct pipe_context *_pipe,
+galahad_context_bind_rasterizer_state(struct pipe_context *_pipe,
void *rasterizer)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_delete_rasterizer_state(struct pipe_context *_pipe,
+galahad_context_delete_rasterizer_state(struct pipe_context *_pipe,
void *rasterizer)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void *
-galahad_create_depth_stencil_alpha_state(struct pipe_context *_pipe,
+galahad_context_create_depth_stencil_alpha_state(struct pipe_context *_pipe,
const struct pipe_depth_stencil_alpha_state *depth_stencil_alpha)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_bind_depth_stencil_alpha_state(struct pipe_context *_pipe,
+galahad_context_bind_depth_stencil_alpha_state(struct pipe_context *_pipe,
void *depth_stencil_alpha)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_delete_depth_stencil_alpha_state(struct pipe_context *_pipe,
+galahad_context_delete_depth_stencil_alpha_state(struct pipe_context *_pipe,
void *depth_stencil_alpha)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void *
-galahad_create_fs_state(struct pipe_context *_pipe,
+galahad_context_create_fs_state(struct pipe_context *_pipe,
const struct pipe_shader_state *fs)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_bind_fs_state(struct pipe_context *_pipe,
+galahad_context_bind_fs_state(struct pipe_context *_pipe,
void *fs)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_delete_fs_state(struct pipe_context *_pipe,
+galahad_context_delete_fs_state(struct pipe_context *_pipe,
void *fs)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void *
-galahad_create_vs_state(struct pipe_context *_pipe,
+galahad_context_create_vs_state(struct pipe_context *_pipe,
const struct pipe_shader_state *vs)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_bind_vs_state(struct pipe_context *_pipe,
+galahad_context_bind_vs_state(struct pipe_context *_pipe,
void *vs)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_delete_vs_state(struct pipe_context *_pipe,
+galahad_context_delete_vs_state(struct pipe_context *_pipe,
void *vs)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
static void *
-galahad_create_vertex_elements_state(struct pipe_context *_pipe,
+galahad_context_create_vertex_elements_state(struct pipe_context *_pipe,
unsigned num_elements,
const struct pipe_vertex_element *vertex_elements)
{
}
static void
-galahad_bind_vertex_elements_state(struct pipe_context *_pipe,
+galahad_context_bind_vertex_elements_state(struct pipe_context *_pipe,
void *velems)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_delete_vertex_elements_state(struct pipe_context *_pipe,
+galahad_context_delete_vertex_elements_state(struct pipe_context *_pipe,
void *velems)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_set_blend_color(struct pipe_context *_pipe,
+galahad_context_set_blend_color(struct pipe_context *_pipe,
const struct pipe_blend_color *blend_color)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_set_stencil_ref(struct pipe_context *_pipe,
+galahad_context_set_stencil_ref(struct pipe_context *_pipe,
const struct pipe_stencil_ref *stencil_ref)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_set_clip_state(struct pipe_context *_pipe,
+galahad_context_set_clip_state(struct pipe_context *_pipe,
const struct pipe_clip_state *clip)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_set_sample_mask(struct pipe_context *_pipe,
+galahad_context_set_sample_mask(struct pipe_context *_pipe,
unsigned sample_mask)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_set_constant_buffer(struct pipe_context *_pipe,
+galahad_context_set_constant_buffer(struct pipe_context *_pipe,
uint shader,
uint index,
struct pipe_constant_buffer *_cb)
}
static void
-galahad_set_framebuffer_state(struct pipe_context *_pipe,
+galahad_context_set_framebuffer_state(struct pipe_context *_pipe,
const struct pipe_framebuffer_state *_state)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_set_polygon_stipple(struct pipe_context *_pipe,
+galahad_context_set_polygon_stipple(struct pipe_context *_pipe,
const struct pipe_poly_stipple *poly_stipple)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_set_scissor_state(struct pipe_context *_pipe,
+galahad_context_set_scissor_state(struct pipe_context *_pipe,
const struct pipe_scissor_state *scissor)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_set_viewport_state(struct pipe_context *_pipe,
+galahad_context_set_viewport_state(struct pipe_context *_pipe,
const struct pipe_viewport_state *viewport)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_set_fragment_sampler_views(struct pipe_context *_pipe,
+galahad_context_set_fragment_sampler_views(struct pipe_context *_pipe,
unsigned num,
struct pipe_sampler_view **_views)
{
}
static void
-galahad_set_vertex_sampler_views(struct pipe_context *_pipe,
+galahad_context_set_vertex_sampler_views(struct pipe_context *_pipe,
unsigned num,
struct pipe_sampler_view **_views)
{
}
static void
-galahad_set_vertex_buffers(struct pipe_context *_pipe,
+galahad_context_set_vertex_buffers(struct pipe_context *_pipe,
unsigned num_buffers,
const struct pipe_vertex_buffer *_buffers)
{
}
static void
-galahad_set_index_buffer(struct pipe_context *_pipe,
+galahad_context_set_index_buffer(struct pipe_context *_pipe,
const struct pipe_index_buffer *_ib)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
}
static void
-galahad_resource_copy_region(struct pipe_context *_pipe,
+galahad_context_resource_copy_region(struct pipe_context *_pipe,
struct pipe_resource *_dst,
unsigned dst_level,
unsigned dstx,
}
static void
-galahad_clear(struct pipe_context *_pipe,
+galahad_context_clear(struct pipe_context *_pipe,
unsigned buffers,
const union pipe_color_union *color,
double depth,
}
static void
-galahad_clear_render_target(struct pipe_context *_pipe,
+galahad_context_clear_render_target(struct pipe_context *_pipe,
struct pipe_surface *_dst,
const union pipe_color_union *color,
unsigned dstx, unsigned dsty,
height);
}
static void
-galahad_clear_depth_stencil(struct pipe_context *_pipe,
+galahad_context_clear_depth_stencil(struct pipe_context *_pipe,
struct pipe_surface *_dst,
unsigned clear_flags,
double depth,
}
static void
-galahad_flush(struct pipe_context *_pipe,
+galahad_context_flush(struct pipe_context *_pipe,
struct pipe_fence_handle **fence)
{
struct galahad_context *glhd_pipe = galahad_context(_pipe);
glhd_pipe->base.priv = pipe->priv; /* expose wrapped data */
glhd_pipe->base.draw = NULL;
- glhd_pipe->base.destroy = galahad_destroy;
- glhd_pipe->base.draw_vbo = galahad_draw_vbo;
- glhd_pipe->base.create_query = galahad_create_query;
- glhd_pipe->base.destroy_query = galahad_destroy_query;
- glhd_pipe->base.begin_query = galahad_begin_query;
- glhd_pipe->base.end_query = galahad_end_query;
- glhd_pipe->base.get_query_result = galahad_get_query_result;
- glhd_pipe->base.create_blend_state = galahad_create_blend_state;
- glhd_pipe->base.bind_blend_state = galahad_bind_blend_state;
- glhd_pipe->base.delete_blend_state = galahad_delete_blend_state;
- glhd_pipe->base.create_sampler_state = galahad_create_sampler_state;
- glhd_pipe->base.bind_fragment_sampler_states = galahad_bind_fragment_sampler_states;
- glhd_pipe->base.bind_vertex_sampler_states = galahad_bind_vertex_sampler_states;
- glhd_pipe->base.delete_sampler_state = galahad_delete_sampler_state;
- glhd_pipe->base.create_rasterizer_state = galahad_create_rasterizer_state;
- glhd_pipe->base.bind_rasterizer_state = galahad_bind_rasterizer_state;
- glhd_pipe->base.delete_rasterizer_state = galahad_delete_rasterizer_state;
- glhd_pipe->base.create_depth_stencil_alpha_state = galahad_create_depth_stencil_alpha_state;
- glhd_pipe->base.bind_depth_stencil_alpha_state = galahad_bind_depth_stencil_alpha_state;
- glhd_pipe->base.delete_depth_stencil_alpha_state = galahad_delete_depth_stencil_alpha_state;
- glhd_pipe->base.create_fs_state = galahad_create_fs_state;
- glhd_pipe->base.bind_fs_state = galahad_bind_fs_state;
- glhd_pipe->base.delete_fs_state = galahad_delete_fs_state;
- glhd_pipe->base.create_vs_state = galahad_create_vs_state;
- glhd_pipe->base.bind_vs_state = galahad_bind_vs_state;
- glhd_pipe->base.delete_vs_state = galahad_delete_vs_state;
- glhd_pipe->base.create_vertex_elements_state = galahad_create_vertex_elements_state;
- glhd_pipe->base.bind_vertex_elements_state = galahad_bind_vertex_elements_state;
- glhd_pipe->base.delete_vertex_elements_state = galahad_delete_vertex_elements_state;
- glhd_pipe->base.set_blend_color = galahad_set_blend_color;
- glhd_pipe->base.set_stencil_ref = galahad_set_stencil_ref;
- glhd_pipe->base.set_clip_state = galahad_set_clip_state;
- glhd_pipe->base.set_sample_mask = galahad_set_sample_mask;
- glhd_pipe->base.set_constant_buffer = galahad_set_constant_buffer;
- glhd_pipe->base.set_framebuffer_state = galahad_set_framebuffer_state;
- glhd_pipe->base.set_polygon_stipple = galahad_set_polygon_stipple;
- glhd_pipe->base.set_scissor_state = galahad_set_scissor_state;
- glhd_pipe->base.set_viewport_state = galahad_set_viewport_state;
- glhd_pipe->base.set_fragment_sampler_views = galahad_set_fragment_sampler_views;
- glhd_pipe->base.set_vertex_sampler_views = galahad_set_vertex_sampler_views;
- glhd_pipe->base.set_vertex_buffers = galahad_set_vertex_buffers;
- glhd_pipe->base.set_index_buffer = galahad_set_index_buffer;
- glhd_pipe->base.resource_copy_region = galahad_resource_copy_region;
- glhd_pipe->base.clear = galahad_clear;
- glhd_pipe->base.clear_render_target = galahad_clear_render_target;
- glhd_pipe->base.clear_depth_stencil = galahad_clear_depth_stencil;
- glhd_pipe->base.flush = galahad_flush;
- glhd_pipe->base.create_sampler_view = galahad_context_create_sampler_view;
- glhd_pipe->base.sampler_view_destroy = galahad_context_sampler_view_destroy;
- glhd_pipe->base.create_surface = galahad_context_create_surface;
- glhd_pipe->base.surface_destroy = galahad_context_surface_destroy;
- glhd_pipe->base.get_transfer = galahad_context_get_transfer;
- glhd_pipe->base.transfer_destroy = galahad_context_transfer_destroy;
- glhd_pipe->base.transfer_map = galahad_context_transfer_map;
- glhd_pipe->base.transfer_unmap = galahad_context_transfer_unmap;
- glhd_pipe->base.transfer_flush_region = galahad_context_transfer_flush_region;
- glhd_pipe->base.transfer_inline_write = galahad_context_transfer_inline_write;
+ glhd_pipe->base.destroy = galahad_context_destroy;
+
+#define GLHD_PIPE_INIT(_member) \
+ glhd_pipe->base . _member = pipe -> _member ? galahad_context_ ## _member : NULL
+
+ GLHD_PIPE_INIT(draw_vbo);
+ GLHD_PIPE_INIT(create_query);
+ GLHD_PIPE_INIT(destroy_query);
+ GLHD_PIPE_INIT(begin_query);
+ GLHD_PIPE_INIT(end_query);
+ GLHD_PIPE_INIT(get_query_result);
+ GLHD_PIPE_INIT(create_blend_state);
+ GLHD_PIPE_INIT(bind_blend_state);
+ GLHD_PIPE_INIT(delete_blend_state);
+ GLHD_PIPE_INIT(create_sampler_state);
+ GLHD_PIPE_INIT(bind_fragment_sampler_states);
+ GLHD_PIPE_INIT(bind_vertex_sampler_states);
+ GLHD_PIPE_INIT(delete_sampler_state);
+ GLHD_PIPE_INIT(create_rasterizer_state);
+ GLHD_PIPE_INIT(bind_rasterizer_state);
+ GLHD_PIPE_INIT(delete_rasterizer_state);
+ GLHD_PIPE_INIT(create_depth_stencil_alpha_state);
+ GLHD_PIPE_INIT(bind_depth_stencil_alpha_state);
+ GLHD_PIPE_INIT(delete_depth_stencil_alpha_state);
+ GLHD_PIPE_INIT(create_fs_state);
+ GLHD_PIPE_INIT(bind_fs_state);
+ GLHD_PIPE_INIT(delete_fs_state);
+ GLHD_PIPE_INIT(create_vs_state);
+ GLHD_PIPE_INIT(bind_vs_state);
+ GLHD_PIPE_INIT(delete_vs_state);
+ GLHD_PIPE_INIT(create_vertex_elements_state);
+ GLHD_PIPE_INIT(bind_vertex_elements_state);
+ GLHD_PIPE_INIT(delete_vertex_elements_state);
+ GLHD_PIPE_INIT(set_blend_color);
+ GLHD_PIPE_INIT(set_stencil_ref);
+ GLHD_PIPE_INIT(set_clip_state);
+ GLHD_PIPE_INIT(set_sample_mask);
+ GLHD_PIPE_INIT(set_constant_buffer);
+ GLHD_PIPE_INIT(set_framebuffer_state);
+ GLHD_PIPE_INIT(set_polygon_stipple);
+ GLHD_PIPE_INIT(set_scissor_state);
+ GLHD_PIPE_INIT(set_viewport_state);
+ GLHD_PIPE_INIT(set_fragment_sampler_views);
+ GLHD_PIPE_INIT(set_vertex_sampler_views);
+ GLHD_PIPE_INIT(create_sampler_view);
+ GLHD_PIPE_INIT(sampler_view_destroy);
+ GLHD_PIPE_INIT(create_surface);
+ GLHD_PIPE_INIT(surface_destroy);
+ GLHD_PIPE_INIT(set_vertex_buffers);
+ GLHD_PIPE_INIT(set_index_buffer);
+ //GLHD_PIPE_INIT(create_stream_output_target);
+ //GLHD_PIPE_INIT(stream_output_target_destroy);
+ //GLHD_PIPE_INIT(set_stream_output_targets);
+ GLHD_PIPE_INIT(resource_copy_region);
+ GLHD_PIPE_INIT(clear);
+ GLHD_PIPE_INIT(clear_render_target);
+ GLHD_PIPE_INIT(clear_depth_stencil);
+ GLHD_PIPE_INIT(flush);
+ //GLHD_PIPE_INIT(render_condition);
+ //GLHD_PIPE_INIT(texture_barrier);
+ GLHD_PIPE_INIT(get_transfer);
+ GLHD_PIPE_INIT(transfer_destroy);
+ GLHD_PIPE_INIT(transfer_map);
+ GLHD_PIPE_INIT(transfer_unmap);
+ GLHD_PIPE_INIT(transfer_flush_region);
+ GLHD_PIPE_INIT(transfer_inline_write);
+
+#undef GLHD_PIPE_INIT
glhd_pipe->pipe = pipe;