summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2016-12-04 01:13:25 +0100
committerAxel Davy <[email protected]>2016-12-20 23:47:08 +0100
commit325324c749c2331162e7889efc335bfcfcd27005 (patch)
treee4325dd0df9b5b113b3498401894c2a56a36df9d /src
parent7089d88199d607d8a135a9605f14ec6393134205 (diff)
st/nine: Idem for nine_context_gen_mipmap
Will enable to use the bind count as an information for whether the surface/volume is used in the worker thread. Signed-off-by: Axel Davy <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/state_trackers/nine/basetexture9.c3
-rw-r--r--src/gallium/state_trackers/nine/nine_state.c4
-rw-r--r--src/gallium/state_trackers/nine/nine_state.h1
3 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/nine/basetexture9.c b/src/gallium/state_trackers/nine/basetexture9.c
index 5b9b0019a2e..0a9034c949d 100644
--- a/src/gallium/state_trackers/nine/basetexture9.c
+++ b/src/gallium/state_trackers/nine/basetexture9.c
@@ -405,7 +405,8 @@ NineBaseTexture9_GenerateMipSubLevels( struct NineBaseTexture9 *This )
last_layer = util_max_layer(This->view[0]->texture, base_level);
- nine_context_gen_mipmap(This->base.base.device, This->base.resource,
+ nine_context_gen_mipmap(This->base.base.device, (struct NineUnknown *)This,
+ This->base.resource,
base_level, last_level,
first_layer, last_layer, filter);
diff --git a/src/gallium/state_trackers/nine/nine_state.c b/src/gallium/state_trackers/nine/nine_state.c
index 7c2605f864c..88fa01f3483 100644
--- a/src/gallium/state_trackers/nine/nine_state.c
+++ b/src/gallium/state_trackers/nine/nine_state.c
@@ -2694,6 +2694,7 @@ CSMT_ITEM_NO_WAIT(nine_context_clear_render_target,
}
CSMT_ITEM_NO_WAIT(nine_context_gen_mipmap,
+ ARG_BIND_REF(struct NineUnknown, dst),
ARG_BIND_RES(struct pipe_resource, res),
ARG_VAL(UINT, base_level),
ARG_VAL(UINT, last_level),
@@ -2703,6 +2704,9 @@ CSMT_ITEM_NO_WAIT(nine_context_gen_mipmap,
{
struct nine_context *context = &device->context;
+ /* We just bind dst for the bind count */
+ (void)dst;
+
util_gen_mipmap(context->pipe, res, res->format, base_level,
last_level, first_layer, last_layer, filter);
}
diff --git a/src/gallium/state_trackers/nine/nine_state.h b/src/gallium/state_trackers/nine/nine_state.h
index acead926414..68dca40241b 100644
--- a/src/gallium/state_trackers/nine/nine_state.h
+++ b/src/gallium/state_trackers/nine/nine_state.h
@@ -541,6 +541,7 @@ nine_context_clear_render_target(struct NineDevice9 *device,
void
nine_context_gen_mipmap(struct NineDevice9 *device,
+ struct NineUnknown *dst,
struct pipe_resource *res,
UINT base_level, UINT last_level,
UINT first_layer, UINT last_layer,