search for: nouveau_buffer_status_gpu_writ

Displaying 12 results from an estimated 12 matches for "nouveau_buffer_status_gpu_writ".

2013 Dec 02
0
[PATCH] nv50: Fix GPU_READING/WRITING bit removal
...eau/nv50/nv50_state_validate.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_state_validate.c @@ -61,7 +61,7 @@ nv50_validate_fb(struct nv50_context *nv50) if (mt->base.status & NOUVEAU_BUFFER_STATUS_GPU_READING) nv50->state.rt_serialize = TRUE; mt->base.status |= NOUVEAU_BUFFER_STATUS_GPU_WRITING; - mt->base.status &= NOUVEAU_BUFFER_STATUS_GPU_READING; + mt->base.status &= ~NOUVEAU_BUFFER_STATUS_GPU_READING; /* only register for writing, otherwise we'd always serialize here */ BCTX_REFN(nv50->bufctx_3d, FB, &mt->base, WR); @@ -91,7 +9...
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...else { align_free(tx->map - (tx->base.box.x & NOUVEAU_MIN_BUFFER_MAP_ALIGN_MASK)); @@ -572,11 +572,11 @@ nouveau_copy_buffer(struct nouveau_context *nv, src->bo, src->offset + srcx, src->domain, size); dst->status |= NOUVEAU_BUFFER_STATUS_GPU_WRITING; - nouveau_fence_ref(nv->screen->fence.current, &dst->fence); - nouveau_fence_ref(nv->screen->fence.current, &dst->fence_wr); + nouveau_fence_ref(nv->fence.current, &dst->fence); + nouveau_fence_ref(nv->fence.current, &dst->fence_...
2014 Jun 17
2
[PATCH try 2 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com> --- src/gallium/drivers/nouveau/nouveau_fence.c | 76 ++++++++++++------------- src/gallium/drivers/nouveau/nouveau_fence.h | 22 +++++-- src/gallium/drivers/nouveau/nouveau_screen.c | 9 +++ src/gallium/drivers/nouveau/nouveau_screen.h | 14 ++--- src/gallium/drivers/nouveau/nv30/nv30_context.c | 4 +-
2014 Jun 21
3
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...free(tx->map - > (tx->base.box.x & NOUVEAU_MIN_BUFFER_MAP_ALIGN_MASK)); > @@ -572,11 +572,11 @@ nouveau_copy_buffer(struct nouveau_context *nv, > src->bo, src->offset + srcx, src->domain, size); > > dst->status |= NOUVEAU_BUFFER_STATUS_GPU_WRITING; > - nouveau_fence_ref(nv->screen->fence.current, &dst->fence); > - nouveau_fence_ref(nv->screen->fence.current, &dst->fence_wr); > + nouveau_fence_ref(nv->fence.current, &dst->fence); > + nouveau_fence_ref(nv->fence.current,...
2013 Jun 29
0
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...pipe_h264_picture_desc *desc, > + struct nv84_video_buffer *dest) > +{ ... > + for (i = 0; i < 2; i++) { for (i = 0; i < dest->num_planes; i++) { > + struct nv50_miptree *mt = nv50_miptree(dest->resources[i]); > + mt->base.status |= NOUVEAU_BUFFER_STATUS_GPU_WRITING; > + } > + > + PUSH_KICK (push); > +} > + ... > +void > +nv84_decoder_vp_mpeg12_mb(struct nv84_decoder *dec, > + struct pipe_mpeg12_picture_desc *desc, > + const struct pipe_mpeg12_macroblock *macrob) > +{ ......
2013 Jun 29
2
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...+ struct nv84_video_buffer *dest) >> +{ > ... > >> + for (i = 0; i < 2; i++) { > for (i = 0; i < dest->num_planes; i++) { > >> + struct nv50_miptree *mt = nv50_miptree(dest->resources[i]); >> + mt->base.status |= NOUVEAU_BUFFER_STATUS_GPU_WRITING; >> + } >> + >> + PUSH_KICK (push); >> +} >> + > ... > >> +void >> +nv84_decoder_vp_mpeg12_mb(struct nv84_decoder *dec, >> + struct pipe_mpeg12_picture_desc *desc, >> + const struct...
2013 Dec 02
2
[PATCH] nouveau: Add lots of comments to the buffer transfer logic
...to. It will be copied + * back into VRAM on unmap. */ if (usage & PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE) buf->status &= NOUVEAU_BUFFER_STATUS_REALLOC_MASK; nouveau_transfer_staging(nv, tx, TRUE); } else { if (buf->status & NOUVEAU_BUFFER_STATUS_GPU_WRITING) { + /* The GPU is currently writing to this buffer. Copy its current + * contents to a staging area in the GART. This is necessary since + * not the whole area being mapped is being discarded. + */ if (buf->data) { a...
2013 Jun 30
0
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...84_video_buffer *dest) >>> +{ >> ... >> >>> + for (i = 0; i < 2; i++) { >> for (i = 0; i < dest->num_planes; i++) { >> >>> + struct nv50_miptree *mt = nv50_miptree(dest->resources[i]); >>> + mt->base.status |= NOUVEAU_BUFFER_STATUS_GPU_WRITING; >>> + } >>> + >>> + PUSH_KICK (push); >>> +} >>> + >> ... >> >>> +void >>> +nv84_decoder_vp_mpeg12_mb(struct nv84_decoder *dec, >>> + struct pipe_mpeg12_picture_desc *desc, >>&...
2014 Jun 16
2
[PATCH 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com> --- src/gallium/drivers/nouveau/nouveau_fence.c | 76 ++++++++++++------------- src/gallium/drivers/nouveau/nouveau_fence.h | 22 +++++-- src/gallium/drivers/nouveau/nouveau_screen.c | 9 +++ src/gallium/drivers/nouveau/nouveau_screen.h | 14 ++--- src/gallium/drivers/nouveau/nv30/nv30_context.c | 4
2013 Jun 27
4
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...t;fence->offset); + PUSH_DATA (push, 1); + + /* Write to the semaphore location, intr */ + BEGIN_NV04(push, SUBC_VP(0x304), 1); + PUSH_DATA (push, 0x101); + + for (i = 0; i < 2; i++) { + struct nv50_miptree *mt = nv50_miptree(dest->resources[i]); + mt->base.status |= NOUVEAU_BUFFER_STATUS_GPU_WRITING; + } + + PUSH_KICK (push); +} + +static INLINE int16_t inverse_quantize(int16_t val, uint8_t quant, int mpeg1) { + /* This is wrong for non-intra mbs... but mpeg12_bitstream doesn't pass us + * the right data to do it right. Need to + sign() before the quant + * scale. */ + int...
2013 Jun 30
0
[PATCH v2] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...t;fence->offset); + PUSH_DATA (push, 1); + + /* Write to the semaphore location, intr */ + BEGIN_NV04(push, SUBC_VP(0x304), 1); + PUSH_DATA (push, 0x101); + + for (i = 0; i < 2; i++) { + struct nv50_miptree *mt = nv50_miptree(dest->resources[i]); + mt->base.status |= NOUVEAU_BUFFER_STATUS_GPU_WRITING; + } + + PUSH_KICK (push); +} + +static INLINE int16_t inverse_quantize(int16_t val, uint8_t quant, int mpeg1) { + int16_t ret = val * quant / 16; + if (mpeg1 && ret) { + if (ret > 0) + ret = (ret - 1) | 1; + else + ret = (ret + 1) | 1; + } + if (...
2013 Aug 11
10
[PATCH 00/10] Add support for MPEG2 and VC-1 on VP3/VP4 for NV98-NVAF
As it turns out, with the proprietary firmware, the VP3 and VP4 interfaces are identical. Furthermore, this is all already implemented for nvc0. So these patches (a) move the easily sharable bits of the nvc0 implementation into the nouveau directory, and then (b) implement the other parts in nv50. The non-shared parts are still largely copies, but there are some differences, not the least of which