Displaying 20 results from an estimated 36 matches for "pipe_buff".
Did you mean:
  pipe_buf
  
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. (Sour...
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...
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);
       r...
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, d...
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 fe...
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...
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->tile...