summaryrefslogtreecommitdiffstats
path: root/src/gallium/include/pipe
diff options
context:
space:
mode:
authorChristian König <[email protected]>2011-03-26 00:20:16 +0100
committerChristian König <[email protected]>2011-03-26 00:20:16 +0100
commit3d40d4f391e2fc319a03d8f171a2cfb9daf250c8 (patch)
treeee23fe5dbe9ebd6c235ccd8abb31c8da4b9415d8 /src/gallium/include/pipe
parent4a0b80f00dbc77d333027afd195daae7ef1e651c (diff)
[g3dvl] throw out all unused parts of the interface
Diffstat (limited to 'src/gallium/include/pipe')
-rw-r--r--src/gallium/include/pipe/p_video_context.h92
1 files changed, 42 insertions, 50 deletions
diff --git a/src/gallium/include/pipe/p_video_context.h b/src/gallium/include/pipe/p_video_context.h
index be40c36366a..49b1038eea7 100644
--- a/src/gallium/include/pipe/p_video_context.h
+++ b/src/gallium/include/pipe/p_video_context.h
@@ -85,6 +85,11 @@ struct pipe_video_context
const struct pipe_surface *templ);
/**
+ * sampler view handling, used for subpictures for example
+ */
+ /*@{*/
+
+ /**
* create a sampler view of a texture, for subpictures for example
*/
struct pipe_sampler_view *(*create_sampler_view)(struct pipe_video_context *vpipe,
@@ -92,6 +97,22 @@ struct pipe_video_context
const struct pipe_sampler_view *templ);
/**
+ * upload image data to a sampler
+ */
+ void (*upload_sampler)(struct pipe_video_context *vpipe,
+ struct pipe_sampler_view *dst,
+ const struct pipe_box *dst_box,
+ const void *src, unsigned src_stride,
+ unsigned src_x, unsigned src_y);
+
+ /**
+ * clear a sampler with a specific rgba color
+ */
+ void (*clear_sampler)(struct pipe_video_context *vpipe,
+ struct pipe_sampler_view *dst,
+ const struct pipe_box *dst_box,
+ const float *rgba);
+ /**
* Creates a buffer as decoding target
*/
struct pipe_video_buffer *(*create_buffer)(struct pipe_video_context *vpipe);
@@ -101,12 +122,14 @@ struct pipe_video_context
*/
#if 0
- /*@{*/
void (*decode_bitstream)(struct pipe_video_context *vpipe,
unsigned num_bufs,
struct pipe_buffer **bitstream_buf);
#endif
+ /**
+ * render a video buffer to the frontbuffer
+ */
void (*render_picture)(struct pipe_video_context *vpipe,
struct pipe_video_buffer *src_surface,
struct pipe_video_rect *src_area,
@@ -115,68 +138,22 @@ struct pipe_video_context
struct pipe_video_rect *dst_area,
struct pipe_fence_handle **fence);
-#if 0
- void (*resource_copy_region)(struct pipe_video_context *vpipe,
- struct pipe_resource *dst,
- unsigned dstx, unsigned dsty, unsigned dstz,
- struct pipe_resource *src,
- unsigned srcx, unsigned srcy, unsigned srcz,
- unsigned width, unsigned height);
-
- struct pipe_transfer *(*get_transfer)(struct pipe_video_context *vpipe,
- struct pipe_resource *resource,
- unsigned level,
- unsigned usage, /* a combination of PIPE_TRANSFER_x */
- const struct pipe_box *box);
-
- void (*transfer_destroy)(struct pipe_video_context *vpipe,
- struct pipe_transfer *transfer);
-
- void* (*transfer_map)(struct pipe_video_context *vpipe,
- struct pipe_transfer *transfer);
-
- void (*transfer_flush_region)(struct pipe_video_context *vpipe,
- struct pipe_transfer *transfer,
- const struct pipe_box *box);
-
- void (*transfer_unmap)(struct pipe_video_context *vpipe,
- struct pipe_transfer *transfer);
-#endif
-
- void (*upload_sampler)(struct pipe_video_context *vpipe,
- struct pipe_sampler_view *dst,
- const struct pipe_box *dst_box,
- const void *src, unsigned src_stride,
- unsigned src_x, unsigned src_y);
-
- void (*clear_sampler)(struct pipe_video_context *vpipe,
- struct pipe_sampler_view *dst,
- const struct pipe_box *dst_box,
- const float *rgba);
-
/*@}*/
/**
* Parameter-like states (or properties)
*/
/*@{*/
-#if 0
- void (*set_picture_background)(struct pipe_video_context *vpipe,
- struct pipe_surface *bg,
- struct pipe_video_rect *bg_src_rect);
-#endif
+ /**
+ * set overlay samplers
+ */
void (*set_picture_layers)(struct pipe_video_context *vpipe,
struct pipe_sampler_view *layers[],
struct pipe_video_rect *src_rects[],
struct pipe_video_rect *dst_rects[],
unsigned num_layers);
-#if 0
- void (*set_picture_desc)(struct pipe_video_context *vpipe,
- const struct pipe_picture_desc *desc);
-#endif
-
void (*set_csc_matrix)(struct pipe_video_context *vpipe, const float *mat);
/* TODO: Interface for scaling modes, post-processing, etc. */
@@ -187,16 +164,31 @@ struct pipe_video_buffer
{
struct pipe_video_context* context;
+ /**
+ * destroy this video buffer
+ */
void (*destroy)(struct pipe_video_buffer *buffer);
+ /**
+ * map the buffer into memory before calling add_macroblocks
+ */
void (*map)(struct pipe_video_buffer *buffer);
+ /**
+ * add macroblocks to buffer for decoding
+ */
void (*add_macroblocks)(struct pipe_video_buffer *buffer,
unsigned num_macroblocks,
struct pipe_macroblock *macroblocks);
+ /**
+ * unmap buffer before flushing
+ */
void (*unmap)(struct pipe_video_buffer *buffer);
+ /**
+ * flush buffer to video hardware
+ */
void (*flush)(struct pipe_video_buffer *buffer,
struct pipe_video_buffer *ref_frames[2],
struct pipe_fence_handle **fence);