diff options
author | Dave Airlie <airlied@redhat.com> | 2011-09-16 09:39:34 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-09-18 15:12:47 +0100 |
commit | 6dd284f7c8fac22f64c13fdf9909094f5ec59086 (patch) | |
tree | 8fe6c89638f05d1638b3a5d0395e011d68eda336 /src/gallium/tests/graw | |
parent | 78026b8acef9d6eea4f37d9c5435447944d1befd (diff) | |
download | external_mesa3d-6dd284f7c8fac22f64c13fdf9909094f5ec59086.zip external_mesa3d-6dd284f7c8fac22f64c13fdf9909094f5ec59086.tar.gz external_mesa3d-6dd284f7c8fac22f64c13fdf9909094f5ec59086.tar.bz2 |
gallium: move clear paths from rgba to a pointer to a color union (v2)
This moves the gallium interface for clears from using a pointer to 4 floats to a pointer to a union of float/unsigned/int values.
Notes:
1. the value is opaque.
2. only when the value is used should it be interpretered according to
the surface format it is going to be used with.
3. float clears on integer buffers and vice-versa are undefined.
v2: fixed up vega and graw, dropped hunks that shouldn't have been in
patch.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/gallium/tests/graw')
-rw-r--r-- | src/gallium/tests/graw/clear.c | 4 | ||||
-rw-r--r-- | src/gallium/tests/graw/fs-test.c | 4 | ||||
-rw-r--r-- | src/gallium/tests/graw/gs-test.c | 4 | ||||
-rw-r--r-- | src/gallium/tests/graw/quad-sample.c | 4 | ||||
-rw-r--r-- | src/gallium/tests/graw/quad-tex.c | 4 | ||||
-rw-r--r-- | src/gallium/tests/graw/shader-leak.c | 4 | ||||
-rw-r--r-- | src/gallium/tests/graw/tri-gs.c | 4 | ||||
-rw-r--r-- | src/gallium/tests/graw/tri-instanced.c | 4 | ||||
-rw-r--r-- | src/gallium/tests/graw/tri.c | 4 | ||||
-rw-r--r-- | src/gallium/tests/graw/vs-test.c | 4 |
10 files changed, 20 insertions, 20 deletions
diff --git a/src/gallium/tests/graw/clear.c b/src/gallium/tests/graw/clear.c index 392d150..9c9eeeb 100644 --- a/src/gallium/tests/graw/clear.c +++ b/src/gallium/tests/graw/clear.c @@ -26,9 +26,9 @@ static void *window = NULL; static void draw( void ) { - float clear_color[4] = {1,0,1,1}; + union pipe_color_union clear_color = { .f = {1, 0, 1, 1} }; - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); ctx->flush(ctx, NULL); graw_save_surface_to_file(ctx, surf, NULL); diff --git a/src/gallium/tests/graw/fs-test.c b/src/gallium/tests/graw/fs-test.c index fda23bd..47bc101 100644 --- a/src/gallium/tests/graw/fs-test.c +++ b/src/gallium/tests/graw/fs-test.c @@ -272,9 +272,9 @@ static void set_fragment_shader( const char *filename ) static void draw( void ) { - float clear_color[4] = {.1,.3,.5,0}; + union pipe_color_union clear_color = { .f = {.1,.3,.5,0} }; - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); util_draw_arrays(ctx, PIPE_PRIM_TRIANGLES, 0, 3); ctx->flush(ctx, NULL); diff --git a/src/gallium/tests/graw/gs-test.c b/src/gallium/tests/graw/gs-test.c index ebb26d2..511f5d5 100644 --- a/src/gallium/tests/graw/gs-test.c +++ b/src/gallium/tests/graw/gs-test.c @@ -331,9 +331,9 @@ static void set_geometry_shader( void ) static void draw( void ) { - float clear_color[4] = {.1,.3,.5,0}; + union pipe_color_union clear_color = { .f = {.1,.3,.5,0} }; - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); if (draw_strip) util_draw_arrays(ctx, PIPE_PRIM_TRIANGLE_STRIP, 0, 4); else diff --git a/src/gallium/tests/graw/quad-sample.c b/src/gallium/tests/graw/quad-sample.c index 6903046..152e1ed 100644 --- a/src/gallium/tests/graw/quad-sample.c +++ b/src/gallium/tests/graw/quad-sample.c @@ -146,9 +146,9 @@ static void set_fragment_shader( void ) static void draw( void ) { - float clear_color[4] = {.5,.5,.5,1}; + union pipe_color_union clear_color = { .f = {.5,.5,.5,1} }; - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); util_draw_arrays(ctx, PIPE_PRIM_QUADS, 0, 4); ctx->flush(ctx, NULL); diff --git a/src/gallium/tests/graw/quad-tex.c b/src/gallium/tests/graw/quad-tex.c index fd01cb3..ca742a6 100644 --- a/src/gallium/tests/graw/quad-tex.c +++ b/src/gallium/tests/graw/quad-tex.c @@ -143,9 +143,9 @@ static void set_fragment_shader( void ) static void draw( void ) { - float clear_color[4] = {.5,.5,.5,1}; + union pipe_color_union clear_color = { .f = {.5,.5,.5,1} }; - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); util_draw_arrays(ctx, PIPE_PRIM_QUADS, 0, 4); ctx->flush(ctx, NULL); diff --git a/src/gallium/tests/graw/shader-leak.c b/src/gallium/tests/graw/shader-leak.c index 004b169..098faec 100644 --- a/src/gallium/tests/graw/shader-leak.c +++ b/src/gallium/tests/graw/shader-leak.c @@ -137,7 +137,7 @@ set_fragment_shader( void ) static void draw( void ) { - float clear_color[4] = {0, 0, 0, 1}; + union pipe_color_union clear_color = { .f = {0,0,0,1} }; int i; printf("Creating %d shaders\n", num_iters); @@ -147,7 +147,7 @@ static void draw( void ) ctx->bind_fs_state(ctx, fs); - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); util_draw_arrays(ctx, PIPE_PRIM_POINTS, 0, 1); ctx->flush(ctx, NULL); diff --git a/src/gallium/tests/graw/tri-gs.c b/src/gallium/tests/graw/tri-gs.c index ab0116b..3c9e568 100644 --- a/src/gallium/tests/graw/tri-gs.c +++ b/src/gallium/tests/graw/tri-gs.c @@ -159,9 +159,9 @@ static void set_geometry_shader( void ) static void draw( void ) { - float clear_color[4] = {1,0,1,1}; + union pipe_color_union clear_color = { .f = {1,0,1,1} }; - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); util_draw_arrays(ctx, PIPE_PRIM_TRIANGLES, 0, 3); ctx->flush(ctx, NULL); diff --git a/src/gallium/tests/graw/tri-instanced.c b/src/gallium/tests/graw/tri-instanced.c index bed3437..50389e0 100644 --- a/src/gallium/tests/graw/tri-instanced.c +++ b/src/gallium/tests/graw/tri-instanced.c @@ -196,10 +196,10 @@ static void set_fragment_shader( void ) static void draw( void ) { - float clear_color[4] = {1,0,1,1}; + union pipe_color_union clear_color = { .f = {1,0,1,1} }; struct pipe_draw_info info; - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); util_draw_init_info(&info); info.indexed = (draw_elements != 0); diff --git a/src/gallium/tests/graw/tri.c b/src/gallium/tests/graw/tri.c index 30ead99..2b779ff 100644 --- a/src/gallium/tests/graw/tri.c +++ b/src/gallium/tests/graw/tri.c @@ -136,9 +136,9 @@ static void set_fragment_shader( void ) static void draw( void ) { - float clear_color[4] = {1,0,1,1}; + union pipe_color_union clear_color = { .f = {1,0,1,1} }; - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); util_draw_arrays(ctx, PIPE_PRIM_TRIANGLES, 0, 3); ctx->flush(ctx, NULL); diff --git a/src/gallium/tests/graw/vs-test.c b/src/gallium/tests/graw/vs-test.c index 18e056d..b98c8f5 100644 --- a/src/gallium/tests/graw/vs-test.c +++ b/src/gallium/tests/graw/vs-test.c @@ -223,9 +223,9 @@ static void set_fragment_shader( void ) static void draw( void ) { - float clear_color[4] = {.1,.3,.5,0}; + union pipe_color_union clear_color = { .f = {.1,.3,.5,0} }; - ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); + ctx->clear(ctx, PIPE_CLEAR_COLOR, &clear_color, 0, 0); util_draw_arrays(ctx, PIPE_PRIM_POINTS, 0, Elements(vertices)); ctx->flush(ctx, NULL); |