summaryrefslogtreecommitdiffstats
path: root/src/gallium/tests
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2011-09-16 09:39:34 +0100
committerDave Airlie <[email protected]>2011-09-18 15:12:47 +0100
commit6dd284f7c8fac22f64c13fdf9909094f5ec59086 (patch)
tree8fe6c89638f05d1638b3a5d0395e011d68eda336 /src/gallium/tests
parent78026b8acef9d6eea4f37d9c5435447944d1befd (diff)
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 <[email protected]>
Diffstat (limited to 'src/gallium/tests')
-rw-r--r--src/gallium/tests/graw/clear.c4
-rw-r--r--src/gallium/tests/graw/fs-test.c4
-rw-r--r--src/gallium/tests/graw/gs-test.c4
-rw-r--r--src/gallium/tests/graw/quad-sample.c4
-rw-r--r--src/gallium/tests/graw/quad-tex.c4
-rw-r--r--src/gallium/tests/graw/shader-leak.c4
-rw-r--r--src/gallium/tests/graw/tri-gs.c4
-rw-r--r--src/gallium/tests/graw/tri-instanced.c4
-rw-r--r--src/gallium/tests/graw/tri.c4
-rw-r--r--src/gallium/tests/graw/vs-test.c4
-rw-r--r--src/gallium/tests/trivial/quad-tex.c12
-rw-r--r--src/gallium/tests/trivial/tri.c12
12 files changed, 32 insertions, 32 deletions
diff --git a/src/gallium/tests/graw/clear.c b/src/gallium/tests/graw/clear.c
index 392d1503f19..9c9eeebe0af 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 fda23bd7c9f..47bc101846f 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 ebb26d2f3f4..511f5d53438 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 6903046cf0e..152e1edb3fd 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 fd01cb3f84f..ca742a699d4 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 004b1691b6b..098faec5896 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 ab0116bed73..3c9e56882e5 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 bed34374666..50389e08725 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 30ead999a47..2b779ff8704 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 18e056dcb35..b98c8f53562 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);
diff --git a/src/gallium/tests/trivial/quad-tex.c b/src/gallium/tests/trivial/quad-tex.c
index 6c38b1096c1..79c66e0e67e 100644
--- a/src/gallium/tests/trivial/quad-tex.c
+++ b/src/gallium/tests/trivial/quad-tex.c
@@ -82,7 +82,7 @@ struct program
void *vs;
void *fs;
- float clear_color[4];
+ union pipe_color_union clear_color;
struct pipe_resource *vbuf;
struct pipe_resource *target;
@@ -103,10 +103,10 @@ static void init_prog(struct program *p)
p->cso = cso_create_context(p->pipe);
/* set clear color */
- p->clear_color[0] = 0.3;
- p->clear_color[1] = 0.1;
- p->clear_color[2] = 0.3;
- p->clear_color[3] = 1.0;
+ p->clear_color.f[0] = 0.3;
+ p->clear_color.f[1] = 0.1;
+ p->clear_color.f[2] = 0.3;
+ p->clear_color.f[3] = 1.0;
/* vertex buffer */
{
@@ -307,7 +307,7 @@ static void draw(struct program *p)
cso_set_framebuffer(p->cso, &p->framebuffer);
/* clear the render target */
- p->pipe->clear(p->pipe, PIPE_CLEAR_COLOR, p->clear_color, 0, 0);
+ p->pipe->clear(p->pipe, PIPE_CLEAR_COLOR, &p->clear_color, 0, 0);
/* set misc state we care about */
cso_set_blend(p->cso, &p->blend);
diff --git a/src/gallium/tests/trivial/tri.c b/src/gallium/tests/trivial/tri.c
index 656e92ee886..d036db80039 100644
--- a/src/gallium/tests/trivial/tri.c
+++ b/src/gallium/tests/trivial/tri.c
@@ -79,7 +79,7 @@ struct program
void *vs;
void *fs;
- float clear_color[4];
+ union pipe_color_union clear_color;
struct pipe_resource *vbuf;
struct pipe_resource *target;
@@ -98,10 +98,10 @@ static void init_prog(struct program *p)
p->cso = cso_create_context(p->pipe);
/* set clear color */
- p->clear_color[0] = 0.3;
- p->clear_color[1] = 0.1;
- p->clear_color[2] = 0.3;
- p->clear_color[3] = 1.0;
+ p->clear_color.f[0] = 0.3;
+ p->clear_color.f[1] = 0.1;
+ p->clear_color.f[2] = 0.3;
+ p->clear_color.f[3] = 1.0;
/* vertex buffer */
{
@@ -243,7 +243,7 @@ static void draw(struct program *p)
cso_set_framebuffer(p->cso, &p->framebuffer);
/* clear the render target */
- p->pipe->clear(p->pipe, PIPE_CLEAR_COLOR, p->clear_color, 0, 0);
+ p->pipe->clear(p->pipe, PIPE_CLEAR_COLOR, &p->clear_color, 0, 0);
/* set misc state we care about */
cso_set_blend(p->cso, &p->blend);