aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau
Commit message (Collapse)AuthorAgeFilesLines
* gallium: add user_ptr in pipe_resourceMarek Olšák2012-04-241-0/+1
| | | | I need to access the pointer in st/mesa when I only have pipe_resource.
* nvc0: add initial support for nve4+ (Kepler) chipsetsChristoph Bumiller2012-04-152-0/+5
| | | | | | | | | Most things that work on Fermi should work on Kepler too. There are a few performance optimizations left to do, like better placement of texture barriers and adding scheduling data to the shader instructions (without them, a thread group will be masked for 32 cycles after each single instruction issue).
* nouveau: add new shared scratch buffersChristoph Bumiller2012-04-143-0/+185
|
* nv30: import new driver for GeForce FX/6/7 chipsets, and Quadro variantsBen Skeggs2012-04-143-3/+5
| | | | | | | | | | | | | | | | | | The primary motivation for this rewrite was to have a maintainable driver going forward, as nvfx was quite horrible in a lot of ways. The driver is heavily based on the design of the nv50/nvc0 3d drivers we already have, and uses the same common buffer/fence code. It also passes a HEAP more piglit tests than nvfx did, supports a couple more features, and a few more to come still probably. The CPU footprint of this driver is far far less than nvfx, and translates into far greater framerates in a lot of applications (unless you're using a CPU that's way way newer than the GPUs of these generations....) Basically, we once again have a maintained driver for these chipsets \o/ Feel free to report bugs now!
* nouveau: switch to libdrm_nouveau-2.0Christoph Bumiller2012-04-1417-512/+734
|
* nouveau: remove automatic buffer migration heuristicsChristoph Bumiller2012-04-142-30/+0
|
* nvfx: completely remove this driver (GeForce FX/6/7)Ben Skeggs2012-04-142-51/+2
| | | | | | | | | | This driver hasn't been maintained properly for a very long time, and for many very good reasons. It's horrible. A new driver supporting these chipsets will appear with the commits that port vieux/nv50/nvc0 to libdrm_nouveau-2.0. Signed-off-by: Ben Skeggs <[email protected]>
* gallium/drivers: Use automake to generate makefileTom Stellard2012-03-141-0/+3
|
* Revert "gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLY"Marek Olšák2012-03-051-7/+1
| | | | | | | This reverts commit 0950086376b1c8b7fb89eda81ed7f2f06dee58bc. It was decided to refactor the transfer API instead of adding workarounds to address the performance issues.
* gallium/util: remove u_simple_screenMarek Olšák2012-02-211-1/+0
| | | | Deprecated and unused.
* vl: rename VL_MAX_PLANES to VL_NUM_COMPONENTSChristian König2012-02-061-1/+1
| | | | Signed-off-by: Christian König <[email protected]>
* vl: add interlacing capabilitiesChristian König2012-02-061-0/+6
| | | | | | | Let the driver control interlaced or progressive format of video buffers. Signed-off-by: Christian König <[email protected]>
* vl: reintroduce PIPE_VIDEO_CAP_PREFERED_FORMATChristian König2012-01-151-0/+2
| | | | | | | Create the video buffers in the format the driver preffers. This temporary creates problems with decoder less VDPAU video playback. Signed-off-by: Christian König <[email protected]>
* vl: move away from state like parametersChristian König2012-01-151-40/+23
| | | | | | | Again based on Maartens work, but keep begin_frame and end_frame functions for now. Signed-off-by: Christian König <[email protected]>
* vl/video_buffer: use template style create paramsChristian König2012-01-151-17/+12
| | | | | | | Just like in the rest of gallium, this reduces the number of parameters significantly. Signed-off-by: Christian König <[email protected]>
* vl: replace decode_buffers with auxiliary data fieldChristian König2012-01-091-8/+12
| | | | | | | Based on patches from Maarten Lankhorst <[email protected]> Signed-off-by: Christian König <[email protected]> Acked-by: Maarten Lankhorst <[email protected]>
* gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLYMarek Olšák2012-01-051-1/+7
| | | | | | | | | | | Please see the diff for further info. This paves the way for moving user buffer uploads out of drivers and should allow to clean up the mess in u_upload_mgr in the meantime. For now only allowed for buffers on r300 and r600. Acked-by: Christian König <[email protected]>
* gallium: remove deprecated PIPE_TRANSFER_DISCARDMarek Olšák2012-01-051-1/+1
| | | | PIPE_TRANSFER_DISCARD_RANGE is defined the same.
* nouveau: Fix bugs in nouveau_video_bufferMaarten Lankhorst2011-12-232-4/+3
| | | | | | | Double free and array overflow, even if only 2 members are used the last one needs to be set to NULL explicitly. Signed-off-by: Maarten Lankhorst <[email protected]
* nvc0: implement new stream output interfaceChristoph Bumiller2011-12-151-5/+8
|
* nouveau: get rid of winsys objectMarcin Slusarz2011-12-134-8/+12
| | | | Its only purpose was to destroy itself.
* nouveau,nvc0: fix/improve handling of multiple constant buffersChristoph Bumiller2011-10-212-4/+19
|
* nouveau: hide some debugging messages behind environment variableMarcin Slusarz2011-10-094-3/+14
| | | | | They spam console, but are not very useful - hide them behind NOUVEAU_MESA_DEBUG environment variable.
* nouveau: fix fence hangMarcin Slusarz2011-10-093-10/+16
| | | | | | | | | | | | | | | | | | | | | If there is not enough space in pushbuffer for fence emission (nouveau_fence_emit -> nv50_screen_fence_emit -> MARK_RING), the pushbuffer is flushed, which through flush_notify -> nv50_default_flush_notify -> nouveau_fence_update marks currently emitting fence as flushed. But actual emission is done after this mark. So later when there is a need to wait on this fence and pushbuffer was not flushed in between, fence wait will never finish causing application to hang. To fix this, introduce new fence state between AVAILABLE and EMITTED, set it before emission and handle it everywhere. Additionally obtain fence sequence numbers after possible flush in MARK_RING, because we want to emit fences in correct order. Reviewed-by: Christoph Bumiller <[email protected]> Note: This is a candidate for the 7.11 branch.
* nouveau: fix crash during fence emissionMarcin Slusarz2011-09-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Fence emission can flush the push buffer, which through flush_notify unreferences recently emitted fence. If ref count is increased after fence emission, unreference deletes the fence, which causes SIGSEGV. Backtrace: nouveau_fence_del nouveau_fence_ref nouveau_fence_next nouveau_pushbuf_flush MARK_RING nv50_screen_fence_emit nouveau_fence_emit nv50_flush This bug manifested as an assertion failure in nouveau_fence.c, because SIGSEGV handler tried to shutdown the application and used messed up fence. This issue was reported by Maxim Levitsky. Note: This is a candidate for the 7.11 branch.
* nouveau: Fix typos of ParseSourceList in SConscript files.Vinson Lee2011-09-161-1/+1
| | | | Reviewed-by: Chia-I Wu <[email protected]>
* nouveau: make data argument of nouveau_context::push_data constChristoph Bumiller2011-09-141-1/+1
|
* nouveau: Add max_references parameter to vl_create_decoder()Emeric Grange2011-09-141-6/+7
| | | | Signed-off-by: Emeric Grange <[email protected]>
* nouveau: Add support for XvMC accelerationMaarten Lankhorst2011-09-104-4/+1325
| | | | | | Try to use the PMPEG where available Signed-off-by: Maarten Lankhorst <[email protected]>
* nouveau: fix nouveau_fence leakMarcin Slusarz2011-09-081-0/+2
| | | | Note: This is a candidate for the 7.11 branch.
* nouveau: use PRIu64 for printing uint64_tChristoph Bumiller2011-08-302-1/+5
|
* nouveau/mm: move slabs to correct list on memory releaseChristoph Bumiller2011-08-301-5/+5
| | | | | Should get rid of "destroying GPU memory cache with some buffers still in use" message.
* nvfx: use common NOUVEAU_RESOURCE_FLAG_LINEAR defineChristoph Bumiller2011-08-301-1/+2
|
* nv50: add support for linear textures and render targetsChristoph Bumiller2011-08-301-0/+2
|
* android: add support for nouveauChia-I Wu2011-08-271-0/+37
| | | | Compile tested only.
* nouveau: share the source listsChia-I Wu2011-08-273-8/+10
| | | | | For each driver, factor out C_SOURCES from Makefile to Makefile.sources, and let Makefile and SConscript share it.
* g3dvl: Rework the decoder interface part 2/5Christian König2011-08-261-0/+2
| | | | | | | | Implement PIPE_CAP_NUM_BUFFERS_DESIRED giving the decoder control over the number of buffers a state tracker should allocate. Signed-off-by: Christian König <[email protected]> Reviewed-by: Younes Manton <[email protected]>
* nouveau: hook up video decoding with nouveau_contextChristoph Bumiller2011-07-214-1/+45
| | | | | This doesn't include nvfx since its context struct is not derived from common nouveau_context (yet).
* gallium/nouveau: remove unused nouveau_screen_bo_userMarcin Slusarz2011-06-202-16/+0
|
* gallium/nouveau: fix printf warningsMarek Olšák2011-04-271-1/+1
|
* nouveau: Fix serious compiler warningsJohannes Obermayr2011-03-181-0/+1
| | | | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=35025 Signed-off-by: Brian Paul <[email protected]>
* nv50,nvc0: clean up flushesChristoph Bumiller2011-03-131-3/+6
|
* gallium: cleanup fence_signalled and fence_finishMarek Olšák2011-03-111-7/+5
| | | | So that they don't have the driver-specific param and return type.
* gallium: kill is_resource_referencedMarek Olšák2011-03-113-25/+0
| | | | Only st/xorg used it and even incorrectly with regards to pipelined transfers.
* gallium: add timeout parameter to fence_finishMarek Olšák2011-03-081-1/+2
| | | | | This is a follow-up to the ARB_sync patch for st/mesa and completes the ARB_sync implementation.
* nouveau: allow pipe driver to define which buffers should start in sysmemBen Skeggs2011-03-032-1/+2
| | | | | | | PIPE_BIND_CONSTANT_BUFFER alone was OK for nv50/nvc0, but nv30 will need to be able to set others on certain chipsets. Signed-off-by: Ben Skeggs <[email protected]>
* nouveau: remove nouveau_stateobj.hBen Skeggs2011-03-011-316/+0
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* nouveau: ensure vbo_dirty is set when buffer write transfer completeBen Skeggs2011-03-014-35/+54
| | | | | | This introduces a shared nouveau_context struct to track such things. Signed-off-by: Ben Skeggs <[email protected]>
* nouveau: fix leak of nouveau_mman structsBen Skeggs2011-03-011-0/+2
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* nv50: sync textures with render targets ourselvesBen Skeggs2011-03-012-5/+6
| | | | | | Port of the nvc0 commit doing the same. Signed-off-by: Ben Skeggs <[email protected]>