summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-09-12 23:37:17 +0200
committerMarek Olšák <[email protected]>2012-09-30 18:57:56 +0200
commit0b0697e80dd442d7e7cb23641ad8f58f82df120d (patch)
tree3f842d9000c8c26fc3812f08276846af4772b579 /src/gallium/drivers/r300
parent84d2f2295e8274c1b3676b59fedfc173836d378e (diff)
gallium/u_blitter: add gallium blit implementation
The original blit function is extended and the otAher functions reuse it. Tested-by: Michel Dänzer <[email protected]> Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r300')
-rw-r--r--src/gallium/drivers/r300/r300_blit.c8
-rw-r--r--src/gallium/drivers/r300/r300_context.h3
-rw-r--r--src/gallium/drivers/r300/r300_render.c3
3 files changed, 7 insertions, 7 deletions
diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c
index f2c67c0a113..3e8217622c5 100644
--- a/src/gallium/drivers/r300/r300_blit.c
+++ b/src/gallium/drivers/r300/r300_blit.c
@@ -577,9 +577,11 @@ static void r300_resource_copy_region(struct pipe_context *pipe,
src_view = r300_create_sampler_view_custom(pipe, src, &src_templ, src_width0, src_height0);
r300_blitter_begin(r300, R300_COPY);
- util_blitter_copy_texture_view(r300->blitter, dst_view, ~0, dstx, dsty,
- src_view, 0, src_box,
- src_width0, src_height0, PIPE_MASK_RGBAZS);
+ util_blitter_blit_generic(r300->blitter, dst_view, dstx, dsty,
+ abs(src_box->width), abs(src_box->height),
+ src_view, src_box,
+ src_width0, src_height0, PIPE_MASK_RGBAZS,
+ PIPE_TEX_FILTER_NEAREST, NULL, FALSE);
r300_blitter_end(r300);
pipe_surface_reference(&dst_view, NULL);
diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h
index fe253089094..7d3b12d45d8 100644
--- a/src/gallium/drivers/r300/r300_context.h
+++ b/src/gallium/drivers/r300/r300_context.h
@@ -722,8 +722,7 @@ void r300_plug_in_stencil_ref_fallback(struct r300_context *r300);
void r300_draw_flush_vbuf(struct r300_context *r300);
void r500_emit_index_bias(struct r300_context *r300, int index_bias);
void r300_blitter_draw_rectangle(struct blitter_context *blitter,
- unsigned x1, unsigned y1,
- unsigned x2, unsigned y2,
+ int x1, int y1, int x2, int y2,
float depth,
enum blitter_attrib_type type,
const union pipe_color_union *attrib);
diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c
index ceda1269707..e388260894c 100644
--- a/src/gallium/drivers/r300/r300_render.c
+++ b/src/gallium/drivers/r300/r300_render.c
@@ -1172,8 +1172,7 @@ void r300_draw_flush_vbuf(struct r300_context *r300)
* would be computed and stored twice, which makes the clear/copy codepaths
* somewhat inefficient. Instead we use a rectangular point sprite. */
void r300_blitter_draw_rectangle(struct blitter_context *blitter,
- unsigned x1, unsigned y1,
- unsigned x2, unsigned y2,
+ int x1, int y1, int x2, int y2,
float depth,
enum blitter_attrib_type type,
const union pipe_color_union *attrib)