Displaying 16 results from an estimated 16 matches for "dst_bo".
2009 Dec 05
1
[PATCH] nouveau: avoid running out of relocs (attempt 4)
...ce_2d *ctx,
assert(sub_w == w || util_is_pot(sub_w));
assert(sub_h == h || util_is_pot(sub_h));
+ MARK_RING (chan, 8 + ((w+sub_w)/sub_w)*((h+sub_h)/sub_h)*17, 2 +
+ ((w+sub_w)/sub_w)*((h+sub_h)/sub_h)*2);
+
BEGIN_RING(chan, swzsurf, NV04_SWIZZLED_SURFACE_DMA_IMAGE, 1);
OUT_RELOCo(chan, dst_bo,
NOUVEAU_BO_GART | NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
@@ -202,7 +205,7 @@ nv04_surface_copy_m2mf(struct nv04_surface_2d *ctx,
unsigned src_offset = src->offset + sy * src_pitch +
sx * pf_get_blocksize(src->texture->format);
- WAIT_RING (chan, 3...
2009 Dec 05
0
[PATCH] nouveau: avoid running out of relocs (attempt 3)
...ce_2d *ctx,
assert(sub_w == w || util_is_pot(sub_w));
assert(sub_h == h || util_is_pot(sub_h));
+ MARK_RING (chan, 8 + ((w+sub_w)/sub_w)*((h+sub_h)/sub_h)*17, 2 +
+ ((w+sub_w)/sub_w)*((h+sub_h)/sub_h)*2);
+
BEGIN_RING(chan, swzsurf, NV04_SWIZZLED_SURFACE_DMA_IMAGE, 1);
OUT_RELOCo(chan, dst_bo,
NOUVEAU_BO_GART | NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
@@ -202,7 +205,7 @@ nv04_surface_copy_m2mf(struct nv04_surface_2d *ctx,
unsigned src_offset = src->offset + sy * src_pitch +
sx * pf_get_blocksize(src->texture->format);
- WAIT_RING (chan, 3...
2009 May 11
1
[PATCH] nv50/gallium: small fix for nv50_transfer_rect_m2mf (sy <-> dy)
...v50_transfer.c b/src/gallium/drivers/nv50/nv50_transfer.c
index 747195b..41d8160 100644
--- a/src/gallium/drivers/nv50/nv50_transfer.c
+++ b/src/gallium/drivers/nv50/nv50_transfer.c
@@ -79,13 +79,13 @@ nv50_transfer_rect_m2mf(struct pipe_screen *pscreen, struct pipe_buffer *src,
OUT_RELOCl(chan, dst_bo, dst_offset, dst_reloc);
if (src_bo->tiled) {
BEGIN_RING(chan, m2mf, 0x0218, 1);
- OUT_RING (chan, (dy << 16) | sx);
+ OUT_RING (chan, (sy << 16) | sx);
} else {
src_offset += (line_count * src_pitch);
}
if (dst_bo->tiled) {
BEGIN_RING(chan, m2mf, 0x0...
2009 Dec 13
3
[PATCH] nouveau: avoid running out of relocs (attempt 5)
...ce_2d *ctx,
assert(sub_w == w || util_is_pot(sub_w));
assert(sub_h == h || util_is_pot(sub_h));
+ MARK_RING (chan, 8 + ((w+sub_w)/sub_w)*((h+sub_h)/sub_h)*17, 2 +
+ ((w+sub_w)/sub_w)*((h+sub_h)/sub_h)*2);
+
BEGIN_RING(chan, swzsurf, NV04_SWIZZLED_SURFACE_DMA_IMAGE, 1);
OUT_RELOCo(chan, dst_bo,
NOUVEAU_BO_GART | NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
@@ -202,7 +205,7 @@ nv04_surface_copy_m2mf(struct nv04_surface_2d *ctx,
unsigned src_offset = src->offset + sy * src_pitch +
sx * pf_get_blocksize(src->texture->format);
- WAIT_RING (chan, 3...
2012 Apr 20
3
[Bug 48954] New: nv25 PGRAPH error and X freeze
https://bugs.freedesktop.org/show_bug.cgi?id=48954
Bug #: 48954
Summary: nv25 PGRAPH error and X freeze
Classification: Unclassified
Product: xorg
Version: git
Platform: x86 (IA32)
OS/Version: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: Driver/nouveau
2009 Dec 25
0
[MESA PATCH 5/5] nv50: update after nouveau_class.h update
...AT_PITCH_OUT, 1);
+ NV04_MEMORY_TO_MEMORY_FORMAT_PITCH_OUT, 1);
OUT_RING (chan, dst_pitch);
dst_offset += (dy * dst_pitch) + (dx * cpp);
} else {
@@ -89,7 +89,7 @@ nv50_transfer_rect_m2mf(struct pipe_screen *pscreen,
OUT_RELOCh(chan, src_bo, src_offset, src_reloc);
OUT_RELOCh(chan, dst_bo, dst_offset, dst_reloc);
BEGIN_RING(chan, m2mf,
- NV50_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN, 2);
+ NV04_MEMORY_TO_MEMORY_FORMAT_OFFSET_IN, 2);
OUT_RELOCl(chan, src_bo, src_offset, src_reloc);
OUT_RELOCl(chan, dst_bo, dst_offset, dst_reloc);
if (src_bo->tile_flags) {
@@ -107,7 +107,7...
2012 Feb 15
11
[Patches][nouveau/ddx]: Improvements to bufferswap implementation and timestamping
Hi,
here a set of patches against the nouveau-ddx. This is an extended and
revised set, based on Francisco Jerez feedback from autumn last year.
[1/9] Makes pageflipping work again on X-Server 1.12rc. It apparently stopped
working somewhere around Xorg 1.11+.
[2/9] Implements handling of pageflip completion events from the kernel.
Francisco Jerez argument against including it was that the
2023 Apr 07
0
[PATCH] drm/qxl: remove unused num_relocs variable
...< cmd->relocs_num; ++i) {
> struct drm_qxl_reloc reloc;
> struct drm_qxl_reloc __user *u = u64_to_user_ptr(cmd->relocs);
> @@ -231,7 +230,6 @@ static int qxl_process_single_command(struct qxl_device *qdev,
> reloc_info[i].dst_bo = cmd_bo;
> reloc_info[i].dst_offset = reloc.dst_offset + release->release_offset;
> }
> - num_relocs++;
>
> /* reserve and validate the reloc dst bo */
> if (reloc.reloc_type == QXL_RELOC_TYP...
2009 Dec 30
0
[PATCH] Fix surface_fill alpha
...T_A8R8G8B8;
- default:
- return -1;
- }
-}
-
-static INLINE int
nv04_scaled_image_format(enum pipe_format format)
{
switch (format) {
@@ -319,13 +299,24 @@ nv04_surface_fill(struct nv04_surface_2d *ctx,
struct pipe_surface *dst,
struct nouveau_grobj *rect = ctx->rect;
struct nouveau_bo *dst_bo = nouveau_bo(ctx->buf(dst));
unsigned dst_pitch = ((struct nv04_surface *)dst)->pitch;
+ int bpp = util_format_get_blocksize(dst->format);
int cs2d_format, gdirect_format;
- cs2d_format = nv04_surface_format(dst->format);
- assert(cs2d_format >= 0);
-
- gdirect_format = nv04_rec...
2009 Oct 22
1
[PATCH] nv04-nv40/exa: Reorder the commands in PrepareCopy to match the blob.
...== 32)
+ return FALSE;
if (!NVAccelGetCtxSurf2DFormatFromPixmap(pDstPixmap, &fmt))
return FALSE;
@@ -218,6 +211,15 @@ NV04EXAPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int dx, int dy,
OUT_RELOCl(chan, src_bo, src_delta, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
OUT_RELOCl(chan, dst_bo, dst_delta, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
+ if (planemask != ~0 || alu != GXcopy) {
+ BEGIN_RING(chan, blit, NV04_IMAGE_BLIT_OPERATION, 1);
+ OUT_RING (chan, 1); /* ROP_AND */
+ NV04EXASetROP(pScrn, alu, planemask);
+ } else {
+ BEGIN_RING(chan, blit, NV04_IMAGE_BLIT_OPERATION, 1);
+ OU...
2015 Mar 14
1
[PATCH ddx] Add support for VRAM-less devices to the ddx
...O_RD
+ NOUVEAU_BO_APER | NOUVEAU_BO_RD
}, 1);
if (pNv->Architecture >= NV_FERMI)
@@ -725,7 +725,7 @@ nouveau_dri2_finish_swap(DrawablePtr draw, unsigned int frame,
* on occluded drawables. */
nouveau_pushbuf_refn(push, &(struct nouveau_pushbuf_refn) {
dst_bo,
- NOUVEAU_BO_VRAM | NOUVEAU_BO_RD
+ NOUVEAU_BO_APER | NOUVEAU_BO_RD
}, 1);
REGION_TRANSLATE(0, ®, -draw->x, -draw->y);
diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
index def66ac..3a93d02 100644
--- a/src/nouveau_exa.c
+++ b/src/nouveau_exa.c
@@ -263,...
2010 Jan 18
0
[PATCH] nv04-nv40: Rewrite and unify miptree and transfer code
...,8 @@ nv04_surface_copy_swizzle(struct nv04_surface_2d *ctx,
struct nouveau_channel *chan = ctx->swzsurf->channel;
struct nouveau_grobj *swzsurf = ctx->swzsurf;
struct nouveau_grobj *sifm = ctx->sifm;
- struct nouveau_bo *src_bo = nouveau_bo(ctx->buf(src));
- struct nouveau_bo *dst_bo = nouveau_bo(ctx->buf(dst));
+ struct nouveau_bo *src_bo = ((struct nv04_miptree*)src->texture)->bo;
+ struct nouveau_bo *dst_bo = ((struct nv04_miptree*)dst->texture)->bo;
const unsigned src_pitch = ((struct nv04_surface *)src)->pitch;
/* Max width & height may not...
2010 Jan 18
0
[PATCH] nv04-nv40: Rewrite and unify miptree and transfer code (v2)
...,8 @@ nv04_surface_copy_swizzle(struct nv04_surface_2d *ctx,
struct nouveau_channel *chan = ctx->swzsurf->channel;
struct nouveau_grobj *swzsurf = ctx->swzsurf;
struct nouveau_grobj *sifm = ctx->sifm;
- struct nouveau_bo *src_bo = nouveau_bo(ctx->buf(src));
- struct nouveau_bo *dst_bo = nouveau_bo(ctx->buf(dst));
+ struct nouveau_bo *src_bo = ((struct nv04_miptree*)src->texture)->bo;
+ struct nouveau_bo *dst_bo = ((struct nv04_miptree*)dst->texture)->bo;
const unsigned src_pitch = ((struct nv04_surface *)src)->pitch;
/* Max width & height may not...
2020 Nov 03
45
[patch V3 00/37] mm/highmem: Preemptible variant of kmap_atomic & friends
Following up to the discussion in:
https://lore.kernel.org/r/20200914204209.256266093 at linutronix.de
and the second version of this:
https://lore.kernel.org/r/20201029221806.189523375 at linutronix.de
this series provides a preemptible variant of kmap_atomic & related
interfaces.
This is achieved by:
- Removing the RT dependency from migrate_disable/enable()
- Consolidating all
2020 Nov 03
45
[patch V3 00/37] mm/highmem: Preemptible variant of kmap_atomic & friends
Following up to the discussion in:
https://lore.kernel.org/r/20200914204209.256266093 at linutronix.de
and the second version of this:
https://lore.kernel.org/r/20201029221806.189523375 at linutronix.de
this series provides a preemptible variant of kmap_atomic & related
interfaces.
This is achieved by:
- Removing the RT dependency from migrate_disable/enable()
- Consolidating all
2020 Nov 03
45
[patch V3 00/37] mm/highmem: Preemptible variant of kmap_atomic & friends
Following up to the discussion in:
https://lore.kernel.org/r/20200914204209.256266093 at linutronix.de
and the second version of this:
https://lore.kernel.org/r/20201029221806.189523375 at linutronix.de
this series provides a preemptible variant of kmap_atomic & related
interfaces.
This is achieved by:
- Removing the RT dependency from migrate_disable/enable()
- Consolidating all