summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-08-09 00:37:39 +0200
committerMarek Olšák <[email protected]>2016-08-10 01:10:21 +0200
commita909210131494a6a131855d7d344b61b81fbf40e (patch)
treea25cc63fd6c7e7905873916bd3ba9002528b6664 /src/gallium/drivers/nouveau
parenta7c6993a33e894556e45fc2882ad19f34274d689 (diff)
gallium: add render_condition_enable param to clear_render_target/depth_stencil
Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r--src/gallium/drivers/nouveau/nv30/nv30_clear.c6
-rw-r--r--src/gallium/drivers/nouveau/nv50/nv50_surface.c10
-rw-r--r--src/gallium/drivers/nouveau/nv50/nv84_video.c6
-rw-r--r--src/gallium/drivers/nouveau/nvc0/nvc0_surface.c6
4 files changed, 17 insertions, 11 deletions
diff --git a/src/gallium/drivers/nouveau/nv30/nv30_clear.c b/src/gallium/drivers/nouveau/nv30/nv30_clear.c
index c8fa38e20c7..4217bca6da0 100644
--- a/src/gallium/drivers/nouveau/nv30/nv30_clear.c
+++ b/src/gallium/drivers/nouveau/nv30/nv30_clear.c
@@ -101,7 +101,8 @@ nv30_clear(struct pipe_context *pipe, unsigned buffers,
static void
nv30_clear_render_target(struct pipe_context *pipe, struct pipe_surface *ps,
const union pipe_color_union *color,
- unsigned x, unsigned y, unsigned w, unsigned h)
+ unsigned x, unsigned y, unsigned w, unsigned h,
+ bool render_condition_enabled)
{
struct nv30_context *nv30 = nv30_context(pipe);
struct nv30_surface *sf = nv30_surface(ps);
@@ -160,7 +161,8 @@ nv30_clear_render_target(struct pipe_context *pipe, struct pipe_surface *ps,
static void
nv30_clear_depth_stencil(struct pipe_context *pipe, struct pipe_surface *ps,
unsigned buffers, double depth, unsigned stencil,
- unsigned x, unsigned y, unsigned w, unsigned h)
+ unsigned x, unsigned y, unsigned w, unsigned h,
+ bool render_condition_enabled)
{
struct nv30_context *nv30 = nv30_context(pipe);
struct nv30_surface *sf = nv30_surface(ps);
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_surface.c b/src/gallium/drivers/nouveau/nv50/nv50_surface.c
index fbb5129908b..52e890786bd 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_surface.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_surface.c
@@ -277,7 +277,8 @@ nv50_clear_render_target(struct pipe_context *pipe,
struct pipe_surface *dst,
const union pipe_color_union *color,
unsigned dstx, unsigned dsty,
- unsigned width, unsigned height)
+ unsigned width, unsigned height,
+ bool render_condition_enabled)
{
struct nv50_context *nv50 = nv50_context(pipe);
struct nouveau_pushbuf *push = nv50->base.pushbuf;
@@ -363,7 +364,8 @@ nv50_clear_depth_stencil(struct pipe_context *pipe,
double depth,
unsigned stencil,
unsigned dstx, unsigned dsty,
- unsigned width, unsigned height)
+ unsigned width, unsigned height,
+ bool render_condition_enabled)
{
struct nv50_context *nv50 = nv50_context(pipe);
struct nouveau_pushbuf *push = nv50->base.pushbuf;
@@ -472,7 +474,7 @@ nv50_clear_texture(struct pipe_context *pipe,
desc->unpack_s_8uint(&stencil, 0, data, 0, 1, 1);
}
pipe->clear_depth_stencil(pipe, sf, clear, depth, stencil,
- box->x, box->y, box->width, box->height);
+ box->x, box->y, box->width, box->height, false);
} else {
union pipe_color_union color;
@@ -508,7 +510,7 @@ nv50_clear_texture(struct pipe_context *pipe,
}
pipe->clear_render_target(pipe, sf, &color,
- box->x, box->y, box->width, box->height);
+ box->x, box->y, box->width, box->height, false);
}
pipe->surface_destroy(pipe, sf);
}
diff --git a/src/gallium/drivers/nouveau/nv50/nv84_video.c b/src/gallium/drivers/nouveau/nv50/nv84_video.c
index 1b1f31ac485..409c40d632f 100644
--- a/src/gallium/drivers/nouveau/nv50/nv84_video.c
+++ b/src/gallium/drivers/nouveau/nv50/nv84_video.c
@@ -482,16 +482,16 @@ nv84_create_decoder(struct pipe_context *context,
mip.base.domain = NOUVEAU_BO_VRAM;
mip.base.bo = dec->mbring;
mip.base.address = dec->mbring->offset;
- context->clear_render_target(context, &surf.base, &color, 0, 0, 64, 4760);
+ context->clear_render_target(context, &surf.base, &color, 0, 0, 64, 4760, false);
surf.offset = dec->vpring->size / 2 - 0x1000;
surf.width = 1024;
surf.height = 1;
mip.level[0].pitch = surf.width * 4;
mip.base.bo = dec->vpring;
mip.base.address = dec->vpring->offset;
- context->clear_render_target(context, &surf.base, &color, 0, 0, 1024, 1);
+ context->clear_render_target(context, &surf.base, &color, 0, 0, 1024, 1, false);
surf.offset = dec->vpring->size - 0x1000;
- context->clear_render_target(context, &surf.base, &color, 0, 0, 1024, 1);
+ context->clear_render_target(context, &surf.base, &color, 0, 0, 1024, 1, false);
PUSH_SPACE(screen->pushbuf, 5);
PUSH_REFN(screen->pushbuf, dec->fence, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR);
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
index 7556e7133fc..a6ca6fb75a0 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c
@@ -280,7 +280,8 @@ nvc0_clear_render_target(struct pipe_context *pipe,
struct pipe_surface *dst,
const union pipe_color_union *color,
unsigned dstx, unsigned dsty,
- unsigned width, unsigned height)
+ unsigned width, unsigned height,
+ bool render_condition_enabled)
{
struct nvc0_context *nvc0 = nvc0_context(pipe);
struct nouveau_pushbuf *push = nvc0->base.pushbuf;
@@ -619,7 +620,8 @@ nvc0_clear_depth_stencil(struct pipe_context *pipe,
double depth,
unsigned stencil,
unsigned dstx, unsigned dsty,
- unsigned width, unsigned height)
+ unsigned width, unsigned height,
+ bool render_condition_enabled)
{
struct nvc0_context *nvc0 = nvc0_context(pipe);
struct nouveau_pushbuf *push = nvc0->base.pushbuf;