mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-15 20:20:25 +01:00
st/nine: Add src reference to nine_context_range_upload
Just like nine_context_box_upload, nine_context_range_upload
should reference the src, which holds the ram source buffer.
Fixes: https://github.com/iXit/Mesa-3D/issues/327
Signed-off-by: Axel Davy <davyaxel0@gmail.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 104681c5d5)
This commit is contained in:
parent
bf6f68fc83
commit
5f76202eaf
3 changed files with 8 additions and 1 deletions
|
|
@ -104,7 +104,9 @@ NineBuffer9_Upload( struct NineBuffer9 *This )
|
|||
struct NineDevice9 *device = This->base.base.device;
|
||||
|
||||
assert(This->base.pool == D3DPOOL_MANAGED && This->managed.dirty);
|
||||
nine_context_range_upload(device, &This->managed.pending_upload, This->base.resource,
|
||||
nine_context_range_upload(device, &This->managed.pending_upload,
|
||||
(struct NineUnknown *)This,
|
||||
This->base.resource,
|
||||
This->managed.dirty_box.x,
|
||||
This->managed.dirty_box.width,
|
||||
(char *)This->managed.data + This->managed.dirty_box.x);
|
||||
|
|
|
|||
|
|
@ -2418,6 +2418,7 @@ CSMT_ITEM_NO_WAIT(nine_context_gen_mipmap,
|
|||
}
|
||||
|
||||
CSMT_ITEM_NO_WAIT_WITH_COUNTER(nine_context_range_upload,
|
||||
ARG_BIND_REF(struct NineUnknown, src_ref),
|
||||
ARG_BIND_RES(struct pipe_resource, res),
|
||||
ARG_VAL(unsigned, offset),
|
||||
ARG_VAL(unsigned, size),
|
||||
|
|
@ -2425,6 +2426,9 @@ CSMT_ITEM_NO_WAIT_WITH_COUNTER(nine_context_range_upload,
|
|||
{
|
||||
struct nine_context *context = &device->context;
|
||||
|
||||
/* Binding src_ref avoids release before upload */
|
||||
(void)src_ref;
|
||||
|
||||
context->pipe->buffer_subdata(context->pipe, res, 0, offset, size, data);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -560,6 +560,7 @@ nine_context_gen_mipmap(struct NineDevice9 *device,
|
|||
void
|
||||
nine_context_range_upload(struct NineDevice9 *device,
|
||||
unsigned *counter,
|
||||
struct NineUnknown *src_ref,
|
||||
struct pipe_resource *res,
|
||||
unsigned offset,
|
||||
unsigned size,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue