search for: nouveau_context

Displaying 20 results from an estimated 39 matches for "nouveau_context".

2012 Apr 30
5
[PATCH] nouveau/vieux: only advertise supported texture formats
Fixes an assertion seen by users. Signed-off-by: Lucas Stach <dev at lynxeye.de> Tested-by: JohnDoe_71Rus on irc --- src/mesa/drivers/dri/nouveau/nouveau_context.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c index 4845767..46c0d70 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_context.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c @...
2015 Oct 10
3
[PATCH] nv50, nvc0: don't base decisions on available pushbuf space
...iff --git a/src/gallium/drivers/nouveau/nv50/nv50_transfer.c b/src/gallium/drivers/nouveau/nv50/nv50_transfer.c index be51407..9a3fd1e 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_transfer.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_transfer.c @@ -187,14 +187,7 @@ nv50_sifc_linear_u8(struct nouveau_context *nv, PUSH_DATA (push, 0); while (count) { - unsigned nr; - - if (!PUSH_SPACE(push, 16)) - break; - nr = PUSH_AVAIL(push); - assert(nr >= 16); - nr = MIN2(count, nr - 1); - nr = MIN2(nr, NV04_PFIFO_MAX_PACKET_LEN); + unsigned nr = MIN2(count, N...
2014 Jan 15
1
[PATCH v2] nouveau: add framebuffer validation callback
...ow_bug.cgi?id=73459 Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- Francisco, thanks for the review. Is this more like what you had in mind? Interesting that nv10/nv20 support different-bitness color/depth -- that requirement came back for nv30/nv40. src/mesa/drivers/dri/nouveau/nouveau_context.c | 1 + src/mesa/drivers/dri/nouveau/nouveau_fbo.c | 52 ++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c index 181c9d0..ec474d4 100644 --- a/src/mesa/drivers/dri/nouveau/...
2009 Mar 06
0
[PATCH] Fix nouveau_pipe_create() / nouveau_context_init(): raise an error if the screen/pipe creation failed
--- .../winsys/drm/nouveau/common/nouveau_context.c | 6 ++++-- .../winsys/drm/nouveau/common/nouveau_winsys.c | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/gallium/winsys/drm/nouveau/common/nouveau_context.c b/src/gallium/winsys/drm/nouveau/common/nouveau_context.c index 25c9845..d9321ea 100644 ---...
2014 Nov 16
1
[PATCH 1/2] nv50, nvc0: actually check constbufs for invalidation
...t a/src/gallium/drivers/nouveau/nv50/nv50_context.c b/src/gallium/drivers/nouveau/nv50/nv50_context.c index 07f6378..5e907d7 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_context.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_context.c @@ -214,8 +214,9 @@ nv50_invalidate_resource_storage(struct nouveau_context *ctx, if (res->bind & PIPE_BIND_CONSTANT_BUFFER) { for (s = 0; s < 3; ++s) { - assert(nv50->num_vtxbufs <= NV50_MAX_PIPE_CONSTBUFS); - for (i = 0; i < nv50->num_vtxbufs; ++i) { + for (i = 0; i < NV50_MAX_PIPE_CONSTBUFS; ++i) { + if (!(nv5...
2015 Oct 10
2
[PATCH] nv50, nvc0: don't base decisions on available pushbuf space
...nv50_transfer.c >> b/src/gallium/drivers/nouveau/nv50/nv50_transfer.c >> index be51407..9a3fd1e 100644 >> --- a/src/gallium/drivers/nouveau/nv50/nv50_transfer.c >> +++ b/src/gallium/drivers/nouveau/nv50/nv50_transfer.c >> @@ -187,14 +187,7 @@ nv50_sifc_linear_u8(struct nouveau_context *nv, >> PUSH_DATA (push, 0); >> while (count) { >> - unsigned nr; >> - >> - if (!PUSH_SPACE(push, 16)) >> - break; >> - nr = PUSH_AVAIL(push); >> - assert(nr >= 16); >> - nr = MIN2(count, nr - 1);...
2013 Dec 02
2
[PATCH] nouveau: Add lots of comments to the buffer transfer logic
...ent_count, -1); } +/* Set up a staging area for the transfer. This is either done in "regular" + * system memory if the driver supports push_data (nv50+) and the data is + * small enough (and permit_pb == true), or in GART memory. + */ static uint8_t * nouveau_transfer_staging(struct nouveau_context *nv, struct nouveau_transfer *tx, boolean permit_pb) @@ -155,7 +159,10 @@ nouveau_transfer_staging(struct nouveau_context *nv, return tx->map; } -/* Maybe just migrate to GART right away if we actually need to do this. */ +/* Copies data from the resource into th...
2014 Apr 30
1
[PATCH 1/2] nouveau: remove cb_dirty, it's never used
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- src/gallium/drivers/nouveau/nouveau_buffer.c | 4 +--- src/gallium/drivers/nouveau/nouveau_context.h | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/gallium/drivers/nouveau/nouveau_buffer.c b/src/gallium/drivers/nouveau/nouveau_buffer.c index e308ff4..904e2cc 100644 --- a/src/gallium/drivers/nouveau/nouveau_buffer.c +++ b/src/gallium/drivers/nouveau/nouveau_buffer.c @@ -...
2015 Mar 29
1
[PATCH] nouveau: synchronize "scratch runout" destruction with the command stream
...ions(-) diff --git a/src/gallium/drivers/nouveau/nouveau_buffer.c b/src/gallium/drivers/nouveau/nouveau_buffer.c index 49ff100..e649752 100644 --- a/src/gallium/drivers/nouveau/nouveau_buffer.c +++ b/src/gallium/drivers/nouveau/nouveau_buffer.c @@ -846,19 +846,42 @@ nouveau_scratch_bo_alloc(struct nouveau_context *nv, struct nouveau_bo **pbo, 4096, size, NULL, pbo); } +struct bos +{ + unsigned nr; + struct nouveau_bo **arr; +}; + +static void +unref_bos(void *d) +{ + struct bos *b = d; + int i; + + for (i = 0; i < b->nr; ++i) + nouveau_bo_ref(NULL, &b-...
2014 Jan 10
2
[PATCH] nouveau: add framebuffer validation callback
...values, I don't think this matters. Also I used st_validate_framebuffer as a template, but I don't know if there can actually be many attachments. Should MaxColorAttachments be set to 1? I think it's set to 8 right now. And there's also an odd nouveau_validate_framebuffer thing in nouveau_context.c, but I think that's related to actually rendering/invalidating the fb displayed to the screen. src/mesa/drivers/dri/nouveau/nouveau_driver.h | 1 + src/mesa/drivers/dri/nouveau/nouveau_fbo.c | 38 +++++++++++++++++++++++++++ src/mesa/drivers/dri/nouveau/nv04_context.c | 14 ++++++++++...
2016 Jun 05
0
[RFC PATCH] nouveau: add locking
...ouveau_buffer.c index 2db538c..2af6c5f 100644 --- a/src/gallium/drivers/nouveau/nouveau_buffer.c +++ b/src/gallium/drivers/nouveau/nouveau_buffer.c @@ -380,6 +380,7 @@ nouveau_buffer_transfer_map(struct pipe_context *pipe, struct pipe_transfer **ptransfer) { struct nouveau_context *nv = nouveau_context(pipe); + struct nouveau_screen *screen = nv->screen; struct nv04_resource *buf = nv04_resource(resource); struct nouveau_transfer *tx = MALLOC_STRUCT(nouveau_transfer); uint8_t *map; @@ -426,15 +427,20 @@ nouveau_buffer_transfer_map(struct pipe_context *pipe,...
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...objects with offset, so simply extend the query_heap to cover the entire notifier, and use a offset in nv30_context_kick_notify. Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com> --- src/gallium/drivers/nouveau/nouveau_buffer.c | 14 +- src/gallium/drivers/nouveau/nouveau_context.h | 5 + src/gallium/drivers/nouveau/nouveau_fence.c | 10 + src/gallium/drivers/nouveau/nouveau_fence.h | 6 +- src/gallium/drivers/nouveau/nouveau_screen.c | 16 -- src/gallium/drivers/nouveau/nouveau_screen.h | 5 - src/gallium/drivers/nouveau/nv30/nv30_con...
2009 Jan 10
0
Winsys changes in mesa/gallium-0.2
...s far as I know, but if anyone actually uses the Mesa driver for anything non-trivial I'd appreciate knowing if this broke anything for you. :) * The code in common/ compiles to libnouveaudrm.a and the code in dri/ compiles to nouveau_dri.so and links with common. * Structs nouveau_screen and nouveau_context are now in common and only contain generic DRM stuff. * Structs nouveau_screen_dri and nouveau_screen_dri in dri/ contain the DRI/Mesa specific bits and use nouveau_screen and nouveau_context as base. * The dri/ dir also contains nouveau_swapbuffers.c which has all the swapping functions plus nou...
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
...h the glx tests, for good measure) on nv30/nv50/nvc0? If so, can you share the results files somewhere? > > Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com> > --- > src/gallium/drivers/nouveau/nouveau_buffer.c | 14 +- > src/gallium/drivers/nouveau/nouveau_context.h | 5 + > src/gallium/drivers/nouveau/nouveau_fence.c | 10 + > src/gallium/drivers/nouveau/nouveau_fence.h | 6 +- > src/gallium/drivers/nouveau/nouveau_screen.c | 16 -- > src/gallium/drivers/nouveau/nouveau_screen.h | 5 - > src/gallium/driv...
2014 Feb 13
2
[PATCH] nouveau: fix chipset checks for nv1a by using the oclass instead
...CLEAR); } diff --git a/src/mesa/drivers/dri/nouveau/nv10_state_raster.c b/src/mesa/drivers/dri/nouveau/nv10_state_raster.c index bd4a78e..da414a0 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_state_raster.c +++ b/src/mesa/drivers/dri/nouveau/nv10_state_raster.c @@ -28,6 +28,7 @@ #include "nouveau_context.h" #include "nouveau_gldefs.h" #include "nouveau_util.h" +#include "nv_object.xml.h" #include "nv10_3d.xml.h" #include "nv10_driver.h" @@ -120,7 +121,7 @@ nv10_emit_logic_opcode(struct gl_context *ctx, int emit) struct nouveau_pushbuf *...
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
2010 Feb 16
1
Build failure in Mesa
...no-strict-aliasing -fPIC -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XEXTPROTO_71 -I/usr/include/drm -I/usr/include/nouveau nouveau_context.c -o nouveau_context.o gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hid...
2014 Mar 01
1
[PATCH] nouveau: add valid range tracking to nouveau_buffer
...ansfer_flush_region(struct pipe_context *pipe, const struct pipe_box *box) { struct nouveau_transfer *tx = nouveau_transfer(transfer); + struct nv04_resource *buf = nv04_resource(transfer->resource); + if (tx->map) nouveau_transfer_write(nouveau_context(pipe), tx, box->x, box->width); + + util_range_add(&buf->valid_buffer_range, + tx->base.box.x + box->x, + tx->base.box.x + box->x + box->width); } /* Unmap stage of the transfer. If it was a WRITE transfer and the map that @@ -522,...
2008 Nov 11
2
Memory corruption on Gallium window resize, diagnosed?
...= by 0x7AC0C69: pipe_surface_reference (p_inlines.h:95) ==5322== by 0x7AC07D3: st_renderbuffer_alloc_storage (st_cb_fbo.c:97) ==5322== by 0x7A07844: _mesa_resize_framebuffer (framebuffer.c:292) ==5322== by 0x79C2F65: st_resize_framebuffer (st_framebuffer.c:147) ==5322== by 0x7950CB3: nouveau_context_bind (nouveau_context.c:324) ==5322== by 0x794A6E4: DoBindContext (dri_util.c:380) ==5322== by 0x794A78E: driBindContext (dri_util.c:413) ==5322== by 0x47C14B2: BindContextWrapper (glxext.c:1621) ==5322== by 0x47C15F2: MakeContextCurrent (glxext.c:1675) ==5322== by 0x47C1927: glXMake...