summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/i915
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/i915')
-rw-r--r--src/gallium/drivers/i915/i915_clear.c17
-rw-r--r--src/gallium/drivers/i915/i915_context.h9
-rw-r--r--src/gallium/drivers/i915/i915_surface.c8
3 files changed, 20 insertions, 14 deletions
diff --git a/src/gallium/drivers/i915/i915_clear.c b/src/gallium/drivers/i915/i915_clear.c
index 4f9aa2c3120..c682c06cb58 100644
--- a/src/gallium/drivers/i915/i915_clear.c
+++ b/src/gallium/drivers/i915/i915_clear.c
@@ -41,7 +41,8 @@
#include "i915_state.h"
void
-i915_clear_emit(struct pipe_context *pipe, unsigned buffers, const float *rgba,
+i915_clear_emit(struct pipe_context *pipe, unsigned buffers,
+ const union pipe_color_union *color,
double depth, unsigned stencil,
unsigned destx, unsigned desty, unsigned width, unsigned height)
{
@@ -60,13 +61,13 @@ i915_clear_emit(struct pipe_context *pipe, unsigned buffers, const float *rgba,
clear_params |= CLEARPARAM_WRITE_COLOR;
cbuf_tex = i915_texture(cbuf->texture);
- util_pack_color(rgba, cbuf->format, &u_color);
+ util_pack_color(color->f, cbuf->format, &u_color);
if (util_format_get_blocksize(cbuf_tex->b.b.format) == 4)
clear_color = u_color.ui;
else
clear_color = (u_color.ui & 0xffff) | (u_color.ui << 16);
- util_pack_color(rgba, cbuf->format, &u_color);
+ util_pack_color(color->f, cbuf->format, &u_color);
clear_color8888 = u_color.ui;
} else
clear_color = clear_color8888 = 0;
@@ -135,15 +136,17 @@ i915_clear_emit(struct pipe_context *pipe, unsigned buffers, const float *rgba,
* No masking, no scissor (clear entire buffer).
*/
void
-i915_clear_blitter(struct pipe_context *pipe, unsigned buffers, const float *rgba,
+i915_clear_blitter(struct pipe_context *pipe, unsigned buffers,
+ const union pipe_color_union *color,
double depth, unsigned stencil)
{
- util_clear(pipe, &i915_context(pipe)->framebuffer, buffers, rgba, depth,
+ util_clear(pipe, &i915_context(pipe)->framebuffer, buffers, color, depth,
stencil);
}
void
-i915_clear_render(struct pipe_context *pipe, unsigned buffers, const float *rgba,
+i915_clear_render(struct pipe_context *pipe, unsigned buffers,
+ const union pipe_color_union *color,
double depth, unsigned stencil)
{
struct i915_context *i915 = i915_context(pipe);
@@ -151,6 +154,6 @@ i915_clear_render(struct pipe_context *pipe, unsigned buffers, const float *rgba
if (i915->dirty)
i915_update_derived(i915);
- i915_clear_emit(pipe, buffers, rgba, depth, stencil,
+ i915_clear_emit(pipe, buffers, color, depth, stencil,
0, 0, i915->framebuffer.width, i915->framebuffer.height);
}
diff --git a/src/gallium/drivers/i915/i915_context.h b/src/gallium/drivers/i915/i915_context.h
index fca8688a526..f16bb725a4b 100644
--- a/src/gallium/drivers/i915/i915_context.h
+++ b/src/gallium/drivers/i915/i915_context.h
@@ -368,11 +368,14 @@ void i915_emit_hardware_state(struct i915_context *i915 );
/***********************************************************************
* i915_clear.c:
*/
-void i915_clear_blitter(struct pipe_context *pipe, unsigned buffers, const float *rgba,
+void i915_clear_blitter(struct pipe_context *pipe, unsigned buffers,
+ const union pipe_color_union *color,
double depth, unsigned stencil);
-void i915_clear_render(struct pipe_context *pipe, unsigned buffers, const float *rgba,
+void i915_clear_render(struct pipe_context *pipe, unsigned buffers,
+ const union pipe_color_union *color,
double depth, unsigned stencil);
-void i915_clear_emit(struct pipe_context *pipe, unsigned buffers, const float *rgba,
+void i915_clear_emit(struct pipe_context *pipe, unsigned buffers,
+ const union pipe_color_union *color,
double depth, unsigned stencil,
unsigned destx, unsigned desty, unsigned width, unsigned height);
diff --git a/src/gallium/drivers/i915/i915_surface.c b/src/gallium/drivers/i915/i915_surface.c
index 41146be9311..4ba99a33d70 100644
--- a/src/gallium/drivers/i915/i915_surface.c
+++ b/src/gallium/drivers/i915/i915_surface.c
@@ -87,7 +87,7 @@ i915_surface_copy_render(struct pipe_context *pipe,
static void
i915_clear_render_target_render(struct pipe_context *pipe,
struct pipe_surface *dst,
- const float *rgba,
+ const union pipe_color_union *color,
unsigned dstx, unsigned dsty,
unsigned width, unsigned height)
{
@@ -106,7 +106,7 @@ i915_clear_render_target_render(struct pipe_context *pipe,
if (i915->dirty)
i915_update_derived(i915);
- i915_clear_emit(pipe, PIPE_CLEAR_COLOR, rgba, 0.0, 0x0,
+ i915_clear_emit(pipe, PIPE_CLEAR_COLOR, color, 0.0, 0x0,
dstx, dsty, width, height);
pipe->set_framebuffer_state(pipe, &i915->blitter->saved_fb_state);
@@ -202,7 +202,7 @@ i915_surface_copy_blitter(struct pipe_context *pipe,
static void
i915_clear_render_target_blitter(struct pipe_context *pipe,
struct pipe_surface *dst,
- const float *rgba,
+ const union pipe_color_union *color,
unsigned dstx, unsigned dsty,
unsigned width, unsigned height)
{
@@ -214,7 +214,7 @@ i915_clear_render_target_blitter(struct pipe_context *pipe,
assert(util_format_get_blockwidth(pt->format) == 1);
assert(util_format_get_blockheight(pt->format) == 1);
- util_pack_color(rgba, dst->format, &uc);
+ util_pack_color(color->f, dst->format, &uc);
i915_fill_blit( i915_context(pipe),
util_format_get_blocksize(pt->format),
XY_COLOR_BLT_WRITE_ALPHA | XY_COLOR_BLT_WRITE_RGB,