2 * Mesa 3-D graphics library
4 * Copyright (C) 2013 LunarG, Inc.
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:
13 * The above copyright notice and this permission notice shall be included
14 * in all copies or substantial portions of the Software.
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.
25 * Chia-I Wu <olv@lunarg.com>
31 #include "ilo_common.h"
34 struct blitter_context
;
37 struct ilo_context
*ilo
;
39 struct blitter_context
*pipe_blitter
;
43 ilo_blitter_create(struct ilo_context
*ilo
);
46 ilo_blitter_destroy(struct ilo_blitter
*blitter
);
49 ilo_blitter_pipe_blit(struct ilo_blitter
*blitter
,
50 const struct pipe_blit_info
*info
);
53 ilo_blitter_pipe_copy_resource(struct ilo_blitter
*blitter
,
54 struct pipe_resource
*dst
, unsigned dst_level
,
55 unsigned dst_x
, unsigned dst_y
, unsigned dst_z
,
56 struct pipe_resource
*src
, unsigned src_level
,
57 const struct pipe_box
*src_box
);
60 ilo_blitter_pipe_clear_rt(struct ilo_blitter
*blitter
,
61 struct pipe_surface
*rt
,
62 const union pipe_color_union
*color
,
63 unsigned x
, unsigned y
,
64 unsigned width
, unsigned height
);
67 ilo_blitter_pipe_clear_zs(struct ilo_blitter
*blitter
,
68 struct pipe_surface
*zs
,
70 double depth
, unsigned stencil
,
71 unsigned x
, unsigned y
,
72 unsigned width
, unsigned height
);
75 ilo_blitter_pipe_clear_fb(struct ilo_blitter
*blitter
,
77 const union pipe_color_union
*color
,
78 double depth
, unsigned stencil
);
81 ilo_blitter_blt_copy_resource(struct ilo_blitter
*blitter
,
82 struct pipe_resource
*dst
, unsigned dst_level
,
83 unsigned dst_x
, unsigned dst_y
, unsigned dst_z
,
84 struct pipe_resource
*src
, unsigned src_level
,
85 const struct pipe_box
*src_box
);
88 ilo_blitter_blt_clear_rt(struct ilo_blitter
*blitter
,
89 struct pipe_surface
*rt
,
90 const union pipe_color_union
*color
,
91 unsigned x
, unsigned y
,
92 unsigned width
, unsigned height
);
95 ilo_blitter_blt_clear_zs(struct ilo_blitter
*blitter
,
96 struct pipe_surface
*zs
,
98 double depth
, unsigned stencil
,
99 unsigned x
, unsigned y
,
100 unsigned width
, unsigned height
);
102 #endif /* ILO_BLITTER_H */