summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* nv50: move onto common linear buffer managerBen Skeggs2011-03-011-2/+2
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* nouveau: common linear buffer manager, ported from nv50/nvc0 driversBen Skeggs2011-03-015-2/+637
| | | | | | | nv50_resource is being called nv04_resource now temporarily, to avoid a naming conflict with nouveau_resource from libdrm. Signed-off-by: Ben Skeggs <[email protected]>
* nouveau: create linear gart/vram mman in common screen initBen Skeggs2011-03-012-0/+12
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* nouveau: fix fence_ref() where fence and *ref are the same fenceBen Skeggs2011-03-011-2/+3
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* nouveau: fix compiler complaintBen Skeggs2011-03-012-0/+9
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* nv50: make mm available as common codeBen Skeggs2011-03-013-1/+311
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* nouveau: move nv50/nvc0 fencing to common location, and modify slightlyBen Skeggs2011-03-015-4/+296
| | | | | | | Modified from original to remove chipset-specific code, and to be decoupled from the mm present in said drivers. Signed-off-by: Ben Skeggs <[email protected]>
* nouveau: fix build against out of tree libdrmDave Airlie2011-01-171-0/+1
| | | | | | For doing builds against a separated libdrm these cflags are needed. Signed-off-by: Dave Airlie <[email protected]>