summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-07-06planb: multi-ib command submissioncs-startDave Airlie3-61/+69
2010-07-06radeon: add support to libdrm for alternative start buffer.Dave Airlie3-5/+50
2010-07-01drm mode: Return -errno on drmIoctl() failureChris Wilson1-24/+18
The high layers expect to receive a status code on error (on the pessimistic assumption that the errno value will have been overwritten by the time the failure is propagated all the way up), so convert xf86drmMode.c to return -errno on an ioctl error and be consistent with the rest of the libdrm API. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-07-01Purge macro NEED_REPLIESFernando Carrijo1-1/+0
Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br> Signed-off-by: Brian Paul <brianp@vmware.com>
2010-06-29intel: Suppress the error return from setting domains after mapping.Chris Wilson1-6/+1
If the mapping succeeds we have a valid pointer. If setting the domain failures we may incur cache corruption. However the usual failure mode is because of a hung GPU, in which case it is preferable to ignore the minor error from setting the domain and continue on oblivious. If these errors persist, we should rate limit the warning [or even just remove it]. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-24intel: Limit tiled pitches to 8192 on pre-i965.Chris Wilson1-4/+12
Fixes: Bug 28515 - Failed to allocate framebuffer when exceed 2048 width https://bugs.freedesktop.org/show_bug.cgi?id=28515 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-22intel: Only adjust the local stride used for SET_TILING in tiled allocChris Wilson1-9/+4
Mesa uses the returned pitch from alloc_tiled, so make sure that we set it correctly before modifying the stride used for the SET_TILING call. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-22intel: Restore SET_TILING for non-flinked bo.Chris Wilson1-5/+3
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-22intel: '===' != '=='Chris Wilson1-1/+1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-22intel: Sanitise strides for linear buffers and SET_TILINGChris Wilson1-0/+6
Ensure that the user doesn't attempt to specify a stride to use with a linear buffer by forcing such to be zero. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-21intel: Print out debugging message following ENOSPCChris Wilson1-1/+1
execbuffer() returns ENOSPC if it cannot fit the batch buffer into the aperture which is the error we want to diagnose here. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-21intel: Scan the cache for old bo once every second.Chris Wilson1-2/+7
Rearrange the cache cleanup so that we always scan following a final unreference, and guard against multiple scans in a single second. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-21intel: Force stride to be 0 for I915_TILING_NONE.Chris Wilson1-0/+3
When allocating a tiled buffer, if we remove the desired tiling mode due to it being beyond hardware limits, also remove the stride. This ensures that we only ever use stride 0 with I915_TILING_NONE. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-21intel: Defer tiling change to allocation.Chris Wilson1-35/+58
As we now expose a method to allocate tiled buffers, it makes more sense to defer the SET_TILING until required. Besides the slim chance that it will be a no-op, by delaying the change we are less likely to stall on waiting for a bound buffer to release a fence register. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-21intel: Track tiling strideChris Wilson1-1/+9
We need to inform the kernel if the tiling stride changes and not only for changes of the tiling mode. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-10Bump version to 2.4.21 for release.Eric Anholt1-1/+1
2010-06-10Fix radeon distcheck.Eric Anholt1-1/+2
2010-06-10intel: Fix several other paths for buffers pointing at themselves.Eric Anholt1-4/+9
2010-06-10intel: Add more intermediate sizes of cache buckets between powers of 2.Eric Anholt1-15/+48
We had two cases recently where the rounding to powers of two hurt badly: 4:2:0 YUV HD video frames would round up from 2.2MB to 4MB, and Urban Terror was hitting aperture size limitations. For UT, this is because mipmap trees for power of two texture sizes will land right in the middle between two cache buckets. By giving a few more sizes between powers of two, Urban Terror on my 945 ends up consuming 207MB of GEM objects instead of 272MB, and HD video decode on Ironlake goes from 99MB to 75MB. cairo-perf-diff of the benchmarks for gl and xlib shows a 1.09x and 1.06x speedup and a 1.07x, 1.08x, and 1.11x slowdown. From this, I think this patch was really a no-op in terms of performance for these CPU-bound workloads.
2010-06-09intel: Convert to untiled pitches if surface is too large for tiling.Chris Wilson1-23/+31
If the pitch is too large for the hardware to tile, recompute the required surface size based on the untiled pitch and alignments. For the older hardware, which has smaller limits and greater restrictions, this may be a considerable saving in allocation size. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-07Allow a buffer to point at itself and still get relocs.Eric Anholt1-2/+10
I'm using this in experiments with the i965 Mesa driver.
2010-06-06intel: Add support for kernel multi-ringbuffer API.Zou Nan hai5-8/+54
This introduces a new API to exec on BSD ring buffer, for H.264 VLD decoding. Signed-off-by: Xiang Hai hao <haihao.xiang@intel.com> Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
2010-06-02add vbltest to .gitignoreJesse Barnes1-0/+1
2010-06-01libkms: Fix include pathsDaniel Stone1-1/+2
Otherwise xf86drm.h isn't found, or the wrong one.
2010-05-26Enable silent automake rules.Eric Anholt1-0/+3
2010-05-26intel_bufmgr_fake: fix compile warning.Eric Anholt1-2/+2
2010-05-24intel: Don't change tiling mode unless the kernel reports success.Chris Wilson1-5/+7
Fixes: Bug 26686 - Some textures are distorted with libdrm 2.4.18 in GTAVC&GTA3 http://bugs.freedesktop.org/show_bug.cgi?id=26686 This bug continues to haunt me. The kernel SET_TILING ioctl is inconsistent in its return values when reporting an error. If one of its sanity checks fail, then the input values are left unchanged. If the kernel later fails to change the tiling mode, then the input values are modified to match the current tiling on the object. In short, userspace cannot trust the return values upon error and so we must assume that upon error our current tiling mode matches reality and not update.
2010-05-13Revert "intel: We don't need to take the bufmgr lock whilst mapping."Chris Wilson1-0/+17
This reverts commit 7ca558494dd3f68f29bb6ca981de9b8f49620b60. This was pushed ahead of an essential review of bo level locking in mesa, without which we cannot know whether removing this lock is safe.
2010-05-12Only build tests in make checkJonathan Callen1-5/+3
Currently, all the tests for libdrm are built during 'make all', even if you do not wish to run tests. Attached is a patch, based on version 2.4.15, to make the tests build in 'make check'.
2010-05-12Pull in new kernel headersKristian Høgsberg2-7/+32
Changes struct drm_mode_crtc_page_flip to use __u32 instead of uint32_t, fixes https://bugs.freedesktop.org/show_bug.cgi?id=26994
2010-05-11intel: query whether a buffer is reusable.Chris Wilson4-0/+24
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-05-06intel: We don't need to take the bufmgr lock whilst mapping.Chris Wilson1-17/+0
2010-04-28vbltest: Doesn't need intel stuff.Michel Dänzer1-3/+1
Fixes build without libdrm_intel.
2010-04-27tests: add new vblank testJesse Barnes4-0/+204
Simple test for event frequency.
2010-04-26radeon: use the const qualifier in radeon_cs_write_tableMarek Olšák1-1/+1
Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-04-16Correct the Solaris definitions of atomic_add & atomic_decAlan Coopersmith1-2/+2
The #defines added in 966c9907c040b4fe4b288b4a9d82598797aee743 were mapping these to functions that don't exist. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-04-16Make libkms build default OS-dependentAlan Coopersmith1-2/+10
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-04-11intel: Use the correct size when allocating reloc_target_info arrayChris Wilson1-1/+1
Thomas tracked down this error with kdm and commit b509640: ==4320== Invalid write of size 8 ==4320== at 0x9A97998: do_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) ==4320== by 0x9A97B9C: drm_intel_gem_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) ==4320== by 0xAED3234: intel_batchbuffer_emit_reloc (in /usr/lib/xorg/modules/dri/i965_dri.so) ==4320== by 0xAF13827: brw_emit_vertices (in /usr/lib/xorg/modules/dri/i965_dri.so) ==4320== by 0xAF1F14D: brw_upload_state (in /usr/lib/xorg/modules/dri/i965_dri.so) ==4320== by 0xAF12122: brw_draw_prims (in /usr/lib/xorg/modules/dri/i965_dri.so) ==4320== by 0xB256824: vbo_exec_vtx_flush (in /usr/lib/xorg/modules/dri/libdricore.so) ==4320== by 0xB2523BB: vbo_exec_FlushVertices_internal (in /usr/lib/xorg/modules/dri/libdricore.so) ==4320== by 0xB252411: vbo_exec_FlushVertices (in /usr/lib/xorg/modules/dri/libdricore.so) ==4320== by 0xB195A3D: _mesa_PopAttrib (in /usr/lib/xorg/modules/dri/libdricore.so) ==4320== by 0x8DF0F02: __glXDisp_Render (in /usr/lib/xorg/modules/extensions/libglx.xorg) ==4320== by 0x8DF517F: __glXDispatch (in /usr/lib/xorg/modules/extensions/libglx.xorg) ==4320== Address 0x126a8b80 is 0 bytes after a block of size 16,368 alloc'd ==4320== at 0x4C23E03: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==4320== by 0x9A97A64: do_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) ==4320== by 0x9A97B9C: drm_intel_gem_bo_emit_reloc (in /usr/lib/libdrm_intel.so.1.0.0) ==4320== by 0xAED3234: intel_batchbuffer_emit_reloc (in /usr/lib/xorg/modules/dri/i965_dri.so) ==4320== by 0xAF191DB: upload_binding_table_pointers (in /usr/lib/xorg/modules/dri/i965_dri.so) ==4320== by 0xAF1F14D: brw_upload_state (in /usr/lib/xorg/modules/dri/i965_dri.so) ==4320== by 0xAF12122: brw_draw_prims (in /usr/lib/xorg/modules/dri/i965_dri.so) ==4320== by 0xB255EF6: vbo_exec_DrawArrays (in /usr/lib/xorg/modules/dri/libdricore.so) ==4320== by 0x8DF67A3: __glXDisp_DrawArrays (in /usr/lib/xorg/modules/extensions/libglx.xorg) ==4320== by 0x8DF0F02: __glXDisp_Render (in /usr/lib/xorg/modules/extensions/libglx.xorg) ==4320== by 0x8DF517F: __glXDispatch (in /usr/lib/xorg/modules/extensions/libglx.xorg) ==4320== by 0x446293: ??? (in /usr/bin/Xorg) which is simply due to only allocating space for the pointers and not the structs themselves. D'oh. Reported-by: Thomas Bächler <thomas@archlinux.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-04-09Revert "Fix pkgconfig includes for /usr/include/drm"Kristian Høgsberg1-1/+1
This reverts commit 245d6957794648d7fd83279c680fed6e4c262147. libdrm now install headers in ${includedir}/libdrm and /usr/include/drm is reserved for the kernel headers. We should only ever add one of these to the CFLAGS.
2010-04-09nouveau: stop shipping nouveau_class.hBen Skeggs2-9020/+0
The motivation behind this is that by shipping it here, it's essentially an API which causes issues while bisecting across changes to the header files.
2010-04-08drm/radeon: add new cs command stream dumping facilitiesJerome Glisse4-5/+667
Dump command stream + associated bo into a binary file which follow a similar design as json file. It allows to intercept a command stream and replay it in a standalone program (see radeondb tools).
2010-04-02libdrm: bump version number to 2.4.20 for releaseJesse Barnes1-1/+1
A few good fixes landed, get them out there.
2010-03-29drm/radeon: tab/whitespace cleanupJerome Glisse1-5/+5
2010-03-26modetest: add optional select codepathJesse Barnes1-0/+19
For misc. testing.
2010-03-25Fix pkgconfig includes for /usr/include/drmBen Skeggs1-1/+1
2010-03-19nouveau: fix annoying compiler warningBen Skeggs1-1/+1
2010-03-19nouveau: fix segfault in nouveau_bo_new_tile() failure pathBen Skeggs1-1/+1
2010-03-19nouveau: remove unused field from nouveau_boBen Skeggs1-1/+0
2010-03-18nouveau: Regenerate nouveau_class.h.Francisco Jerez1-106/+128
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2010-03-17Check HAVE_RADEON only after checking for atomic operations.Pauli Nieminen1-2/+1
Fixes problem that libdrm_radeon was disabled in Makefile even when configure claimed that radeon was enabled. Signed-off-by: Pauli Nieminen <suokkos@gmail.com>