summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau
Commit message (Collapse)AuthorAgeFilesLines
* nvc0: implement compute support for nve4Christoph Bumiller2013-03-122-0/+2
|
* nouveau: align PIPE_BIND_SHADER,COMPUTE_RESOURCEs to 256 bytesChristoph Bumiller2013-03-121-1/+3
|
* nouveau: Bail out from nouveau_fence_wait if flushing the pushbuf fails.Francisco Jerez2013-03-121-2/+4
|
* nouveau: don't try to use push_data if it's not implementedChristoph Bumiller2013-01-271-0/+3
|
* Remove hacks for static MakefilesMatt Turner2013-01-131-3/+0
| | | | | | | | | | | v2: Andreas Boll <[email protected]> - don't remove compatibility with scripts for the old build system v3: Andreas Boll <[email protected]> - remove more obsolete hacks v4: Andreas Boll <[email protected]> - add a previously removed TOP variable to fix vgapi build
* Clean up .gitignore filesMatt Turner2013-01-101-1/+0
|
* nouveau: Convert to automakeMatt Turner2013-01-103-16/+39
|
* nouveau: increase max order of suballocated buffers by 1Christoph Bumiller2013-01-081-2/+9
| | | | | This is really a hack to make TF2 (considerably, up to 20 -> 70 fps at low res) faster.
* nouveau: improve buffer transfersChristoph Bumiller2013-01-085-132/+300
| | | | | | Save double memcpy on uploads to VRAM in most cases. Properly handle FLUSH_EXPLICIT. Reallocate on DISCARD_WHOLE_RESOURCE to avoid sync.
* gallium: remove pipe_surface::usageMarek Olšák2012-12-121-1/+0
| | | | | | Not really used by anybody now. Reviewed-by: Brian Paul <[email protected]>
* nv50,nvc0: expose ARB_map_buffer_alignmentLucas Stach2012-11-042-4/+4
| | | | | | All HW buffers (also suballocated ones) are already aligned. Just make sure that also the initial sysram buffers have proper alignment.
* nouveau: fix offset in nouveau_buffer_transfer_mapChristoph Bumiller2012-10-141-1/+1
| | | | | Before 369e46888904c6d379b8b477d9242cff1608e30e, the transfer was initialized before the call to map and had the correct value already.
* gallium: unify transfer functionsMarek Olšák2012-10-111-56/+46
| | | | | | | | | | | | | | "get_transfer + transfer_map" becomes "transfer_map". "transfer_unmap + transfer_destroy" becomes "transfer_unmap". transfer_map must create and return the transfer object and transfer_unmap must destroy it. transfer_map is successful if the returned buffer pointer is not NULL. If transfer_map fails, the pointer to the transfer object remains unchanged (i.e. doesn't have to be NULL). Acked-by: Brian Paul <[email protected]>
* nouveau: implement missing timer query functionalityChristoph Bumiller2012-07-132-0/+26
|
* automake: Globally add stub automake targets to the old Makefiles.Eric Anholt2012-06-111-3/+0
| | | | | | | | | I tried to update all the old Makefiles that included the default config to be sure they had a default target if they didn't previously have one, since this new all target will always point at it. Almost everything had one. Reviewed-by: Kenneth Graunke <[email protected]>
* nouveau: fix scratch buffer leakMarcin Slusarz2012-06-051-0/+12
| | | | ...and create common function for destroying nouveau_context
* nouveau: unreference fences on resource destructionChristoph Bumiller2012-05-291-0/+3
|
* nouveau: place static buffers in VRAM if preferred by the driverChristoph Bumiller2012-05-173-5/+42
|
* nv50,nvc0: handle user vertex buffersChristoph Bumiller2012-05-172-15/+14
| | | | And restructure VBO validation a little in the process.
* Merge branch 'gallium-userbuf'Marek Olšák2012-05-111-1/+0
|\ | | | | | | | | | | | | | | Conflicts: src/gallium/docs/source/screen.rst src/gallium/drivers/nv50/nv50_state.c src/gallium/include/pipe/p_defines.h src/mesa/state_tracker/st_draw.c
| * gallium: remove pipe_resource::user_ptrMarek Olšák2012-04-301-1/+0
| | | | | | | | It's unused now.
* | nouveau: fix nouveau_scratch_runout_release bo count underflowChristoph Bumiller2012-05-061-1/+3
|/
* 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]>