search for: pipe_buffer

Displaying 20 results from an estimated 36 matches for "pipe_buffer".

2014 Mar 01
1
[PATCH] nouveau: add valid range tracking to nouveau_buffer
This logic is borrowed from the radeon code. The transfer logic will only get called for PIPE_BUFFER resources, so it shouldn't be necessary to worry about them becoming render targets. Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- A user reported a ~30% FPS improvement with an earlier version of this patch in TF2, and no visual regressions in CS, all on a nv50 card. (Source...
2009 Dec 20
2
[PATCH 1/2] nv50: don't emit reloc markers after a referenced vtxbuf is mapped
.../gallium/drivers/nouveau/nouveau_screen.c b/src/gallium/drivers/nouveau/nouveau_screen.c index e4cf91c..c85057a 100644 --- a/src/gallium/drivers/nouveau/nouveau_screen.c +++ b/src/gallium/drivers/nouveau/nouveau_screen.c @@ -127,8 +127,18 @@ nouveau_screen_bo_map(struct pipe_screen *pscreen, struct pipe_buffer *pb, unsigned usage) { struct nouveau_bo *bo = nouveau_bo(pb); + struct nouveau_screen *nscreen = nouveau_screen(pscreen); int ret; + if (nscreen->pre_pipebuffer_map_callback) { + ret = nscreen->pre_pipebuffer_map_callback(pscreen, pb, usage); + if (ret) { + debug_printf(&...
2009 Dec 20
1
[PATCH] nv50: remove vtxbuf stateobject after a referenced vtxbuf is mapped
.../gallium/drivers/nouveau/nouveau_screen.c b/src/gallium/drivers/nouveau/nouveau_screen.c index e4cf91c..c85057a 100644 --- a/src/gallium/drivers/nouveau/nouveau_screen.c +++ b/src/gallium/drivers/nouveau/nouveau_screen.c @@ -127,8 +127,18 @@ nouveau_screen_bo_map(struct pipe_screen *pscreen, struct pipe_buffer *pb, unsigned usage) { struct nouveau_bo *bo = nouveau_bo(pb); + struct nouveau_screen *nscreen = nouveau_screen(pscreen); int ret; + if (nscreen->pre_pipebuffer_map_callback) { + ret = nscreen->pre_pipebuffer_map_callback(pscreen, pb, usage); + if (ret) { + debug_printf(&...
2010 Jan 18
0
[PATCH] nv04-nv40: Rewrite and unify miptree and transfer code (v2)
...g" mail. The image_offset array is removed, since it can be calculated with a simple multiplication; the only array in the miptree structure is now the one for mipmap level starts, which it seems cannot be easily computed in constant time. Also, we now directly store a nouveau_bo instead of a pipe_buffer in the miptree structure, like nv50 does. All the deletions are due to the nv04-nv40 unification. Support for render temporaries is removed, and will be readded in a later patch. Note that the current temporary code is broken, because it does not copy the temporary back on render cache flushes....
2010 Jan 18
0
[PATCH] nv04-nv40: Rewrite and unify miptree and transfer code
...g" mail. The image_offset array is removed, since it can be calculated with a simple multiplication; the only array in the miptree structure is now the one for mipmap level starts, which it seems cannot be easily computed in constant time. Also, we now directly store a nouveau_bo instead of a pipe_buffer in the miptree structure, like nv50 does. All the deletions are due to the nv04-nv40 unification. Support for render temporaries is removed, and will be readded in a later patch. Note that the current temporary code is broken, because it does not copy the temporary back on render cache flushes....
2008 May 15
3
[PATCH 1/4] ocfs2: Fixes pipe_buf_operations->pin switch to confirm in 2.6.23.
Signed-off-by: Tiger Yang <tiger.yang at oracle.com> --- Config.make.in | 1 + configure.in | 6 ++++++ fs/ocfs2/Makefile | 4 ++++ kapi-compat/include/pipe_buf_operations.h | 10 ++++++++++ 4 files changed, 21 insertions(+), 0 deletions(-) create mode 100644 kapi-compat/include/pipe_buf_operations.h
2014 Nov 13
1
[PATCH 52/56] drivers/char/virtio: support compiling out splice
...sole.c b/drivers/char/virtio_console.c index b585b47..de5e2cb 100644 --- a/drivers/char/virtio_console.c +++ b/drivers/char/virtio_console.c @@ -870,6 +870,7 @@ struct sg_list { struct scatterlist *sg; }; +#ifdef CONFIG_SYSCALL_SPLICE static int pipe_to_sg(struct pipe_inode_info *pipe, struct pipe_buffer *buf, struct splice_desc *sd) { @@ -976,6 +977,7 @@ error_out: pipe_unlock(pipe); return ret; } +#endif /* #ifdef CONFIG_SYSCALL_SPLICE */ static unsigned int port_fops_poll(struct file *filp, poll_table *wait) { @@ -1109,7 +1111,7 @@ static const struct file_operations port_fops = {...
2014 Nov 13
1
[PATCH 52/56] drivers/char/virtio: support compiling out splice
...sole.c b/drivers/char/virtio_console.c index b585b47..de5e2cb 100644 --- a/drivers/char/virtio_console.c +++ b/drivers/char/virtio_console.c @@ -870,6 +870,7 @@ struct sg_list { struct scatterlist *sg; }; +#ifdef CONFIG_SYSCALL_SPLICE static int pipe_to_sg(struct pipe_inode_info *pipe, struct pipe_buffer *buf, struct splice_desc *sd) { @@ -976,6 +977,7 @@ error_out: pipe_unlock(pipe); return ret; } +#endif /* #ifdef CONFIG_SYSCALL_SPLICE */ static unsigned int port_fops_poll(struct file *filp, poll_table *wait) { @@ -1109,7 +1111,7 @@ static const struct file_operations port_fops = {...
2015 Dec 22
0
Translating tests/trivial/compute.c gallium tests to opencl (input / help wanted)
...ernel launch, I'm keeping the compute kernels in tgsi as an intermediate step). I've got the test_input_global() test working, see: https://fedorapeople.org/~jwrdegoede/compute-opencl-tgsi.c Next I wanted to convert the test_system_values() test and there I've gotten stuck. It uses a PIPE_BUFFER which it rw-binds as a resource. Which OpenCL does not allow. The closest thing is a constant parameter in OpenCL, at first I've tried binding this as a 2d image, but that leads to the gpu hanging, this is the code activated with "#define USE_IMAGE_FOR_BUF 1" in the above file. So in...
2016 Jun 05
0
[RFC PATCH] nouveau: add locking
...surface.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_surface.c @@ -204,10 +204,13 @@ nv50_resource_copy_region(struct pipe_context *pipe, bool m2mf; unsigned dst_layer = dstz, src_layer = src_box->z; + pipe_mutex_lock(nv50->screen->base.push_mutex); + if (dst->target == PIPE_BUFFER && src->target == PIPE_BUFFER) { nouveau_copy_buffer(&nv50->base, nv04_resource(dst), dstx, nv04_resource(src), src_box->x, src_box->width); + pipe_mutex_unlock(nv50->screen->base.push_mutex); ret...
2014 May 27
1
[PATCH V3] nvc0: implement clear_buffer
...) +{ + struct nvc0_context *nvc0 = nvc0_context(pipe); + struct nouveau_pushbuf *push = nvc0->base.pushbuf; + struct nv04_resource *buf = nv04_resource(res); + union pipe_color_union color; + enum pipe_format dst_fmt; + unsigned width, height, elements; + + assert(res->target == PIPE_BUFFER); + assert(nouveau_bo_memtype(buf->bo) == 0); + + switch (data_size) { + case 16: + dst_fmt = PIPE_FORMAT_R32G32B32A32_UINT; + memcpy(&color.ui, data, 16); + break; + case 12: + /* + * dst_fmt = PIPE_FORMAT_R32G32B32_UINT; + * memcpy(&color.ui, dat...
2015 Nov 26
2
NV50 compute support questions
Hi, On 26-11-15 09:42, Samuel Pitoiset wrote: > Well, if you remove that assert locally, all compute tests in src/gallium/tests/trivial/compute.c pass on GK106, except the atomic ones. Do you mean the: Assertion `pres->target != PIPE_BUFFER' failed. or the: Assertion `tex->defExists(0) && tex->srcExists(0)' failed. assert? Or is the first one not present for Keppler? I do not have a GK106, I've a GK208, and IIRC that one is known to not work, I guess I can give it a try. > I'm working on the ferm...
2014 May 26
1
[PATCH V2] nvc0: implement clear_buffer
...) +{ + struct nvc0_context *nvc0 = nvc0_context(pipe); + struct nouveau_pushbuf *push = nvc0->base.pushbuf; + struct nv04_resource *buf = nv04_resource(res); + union pipe_color_union color; + enum pipe_format dst_fmt; + unsigned width, height, elements; + + assert(res->target == PIPE_BUFFER); + assert(nouveau_bo_memtype(buf->bo) == 0); + + switch (data_size) { + case 16: + dst_fmt = PIPE_FORMAT_R32G32B32A32_UINT; + memcpy(&color.ui, data, 16); + break; + case 12: + //dst_fmt = PIPE_FORMAT_R32G32B32_UINT; + //memcpy(&color.ui, data, 12); +...
2015 Nov 25
4
NV50 compute support questions
...rther any hints for how to debug this are appreciated. So I tried to run src/gallium/tests/trivial/compute.c, with a recent mesa master, but that does not work either. I get the following when I try to run this: compute: nvc0/nvc0_resource.c:41: nvc0_surface_create: Assertion `pres->target != PIPE_BUFFER' failed. (gdb) bt #0 0x00007ffff6cbca98 in raise () from /lib64/libc.so.6 #1 0x00007ffff6cbe69a in abort () from /lib64/libc.so.6 #2 0x00007ffff6cb5227 in __assert_fail_base () from /lib64/libc.so.6 #3 0x00007ffff6cb52d2 in __assert_fail () from /lib64/libc.so.6 #4 0x00007ffff4e5b24c in n...
2012 Aug 09
8
[PATCH V2 0/6] virtio-trace: Support virtio-trace
Hi All, The following patch set provides a low-overhead system for collecting kernel tracing data of guests by a host in a virtualization environment. A guest OS generally shares some devices with other guests or a host, so reasons of any problems occurring in a guest may be from other guests or a host. Then, to collect some tracing data of a number of guests and a host is needed when some
2012 Aug 09
8
[PATCH V2 0/6] virtio-trace: Support virtio-trace
Hi All, The following patch set provides a low-overhead system for collecting kernel tracing data of guests by a host in a virtualization environment. A guest OS generally shares some devices with other guests or a host, so reasons of any problems occurring in a guest may be from other guests or a host. Then, to collect some tracing data of a number of guests and a host is needed when some
2015 Nov 26
0
NV50 compute support questions
...e: > Hi, > > On 26-11-15 09:42, Samuel Pitoiset wrote: >> Well, if you remove that assert locally, all compute tests in >> src/gallium/tests/trivial/compute.c pass on GK106, except the atomic >> ones. > > Do you mean the: > > Assertion `pres->target != PIPE_BUFFER' failed. > > or the: > > Assertion `tex->defExists(0) && tex->srcExists(0)' failed. > > assert? Or is the first one not present for Keppler? The first one. The second one doesn't happen on Kepler. > > I do not have a GK106, I've a GK208,...
2014 May 26
2
Implement buffer_clear for nvc0
Hi, please review the following patch! Thanks, Tobias Klausmann
2014 Nov 13
0
[PATCH 52/56] drivers/char/virtio: support compiling out splice
...ndex b585b47..de5e2cb 100644 > --- a/drivers/char/virtio_console.c > +++ b/drivers/char/virtio_console.c > @@ -870,6 +870,7 @@ struct sg_list { > struct scatterlist *sg; > }; > > +#ifdef CONFIG_SYSCALL_SPLICE > static int pipe_to_sg(struct pipe_inode_info *pipe, struct pipe_buffer *buf, > struct splice_desc *sd) > { > @@ -976,6 +977,7 @@ error_out: > pipe_unlock(pipe); > return ret; > } > +#endif /* #ifdef CONFIG_SYSCALL_SPLICE */ Not worth the #ifdef mess.
2009 May 11
1
[PATCH] nv50/gallium: small fix for nv50_transfer_rect_m2mf (sy <-> dy)
...iff --git a/src/gallium/drivers/nv50/nv50_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)...