summaryrefslogtreecommitdiff
path: root/src/gallium/winsys
AgeCommit message (Collapse)AuthorFilesLines
2013-01-13Remove hacks for static MakefilesMatt Turner11-44/+0
v2: Andreas Boll <andreas.boll.dev@gmail.com> - don't remove compatibility with scripts for the old build system v3: Andreas Boll <andreas.boll.dev@gmail.com> - remove more obsolete hacks v4: Andreas Boll <andreas.boll.dev@gmail.com> - add a previously removed TOP variable to fix vgapi build
2013-01-12winsys/sw/wayland: Fix build to properly use wayland cflagsPekka Vuorela1-1/+1
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59281 Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com>
2013-01-10Clean up .gitignore filesMatt Turner13-13/+0
2013-01-10winsys/sw/xlib: Convert to automakeMatt Turner3-17/+36
2013-01-10winsys/sw/wrapper: Convert to automakeMatt Turner3-12/+35
2013-01-10winsys/sw/wayland: Convert to automakeMatt Turner3-13/+36
2013-01-10winsys/sw/null: Convert to automakeMatt Turner3-16/+35
2013-01-10winsys/sw/fbdev: Convert to automakeMatt Turner3-13/+35
2013-01-10winsys/sw/dri: Convert to automakeMatt Turner3-13/+35
2013-01-10winsys/sw: Convert to automakeMatt Turner3-26/+38
2013-01-10svga/winsys/drm: Convert to automakeMatt Turner3-19/+42
2013-01-10nouveau/winsys/drm: Convert to automakeMatt Turner3-11/+38
2013-01-10i915/winsys/sw: Convert to automakeMatt Turner3-12/+42
2013-01-10i915/winsys/drm: Convert to automakeMatt Turner3-13/+39
2013-01-10radeon/winsys: Convert to automakeTom Stellard3-15/+16
2013-01-10automake: Convert Gallium target and winsysMatt Turner3-12/+2
2013-01-08winsys/radeon: bump the size of relocation hashlistMarek Olšák1-2/+2
This should reduce the number of hash collisions in ETQW.
2013-01-07radeon/winsys: move radeon family/class identification to winsysJerome Glisse3-38/+176
Upcoming async dma support rely on winsys knowing about GPU families. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Marek Olšák <maraeo@gmail.com>
2013-01-07r600g/radeon/winsys: indentation cleanupJerome Glisse2-3/+2
Signed-off-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Marek Olšák <maraeo@gmail.com>
2013-01-04gallium/radeon: send the END_OF_FRAME flag to the DRMMarek Olšák2-2/+9
2013-01-04gallium: extend pipe_context::flush for it to accept an END_OF_FRAME flagMarek Olšák1-1/+1
Usage with pipe_context: pipe->flush(pipe, NULL, PIPE_FLUSH_END_OF_FRAME); Usage with st_context_iface: st->flush(st, ST_FLUSH_END_OF_FRAME, NULL); The flag is only a hint for drivers. Radeon will use it for buffer eviction heuristics in the kernel (e.g. for queries like how many frames have passed since a buffer was used). The flag is currently only generated by st/dri on SwapBuffers. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
2012-12-21winsys/radeon: the env var RADEON_NOOP can be used to skip CS ioctlsMarek Olšák1-1/+4
2012-12-12winsys/radeon: don't use BIND flags, add a flag for the cache bufmgr insteadMarek Olšák2-5/+4
2012-12-02r300g: enable Hyper-Z by default on r500Marek Olšák1-9/+9
I fixed the only known bugs on r500 with 0222b2bd4107b9e5cabfbc06c1a6ca3eae. Now there are no piglit regressions with Hyper-Z and all apps I tested seem to work. To summarize how it works: - Only one process can use it at a time. This is a hardware limitation. - The first process to clear a zbuffer gets the exclusive access to use Hyper-Z. - Compositors don't use any zbuffer, so they won't steal it, but some web browsers do, so make sure there's no web browser running if you want your game to use Hyper-Z. - There's no need to restart an app which couldn't get the access to Hyper-Z. Just quit the app which took it, the driver can turn it on for the other app in the middle of rendering. - If an app gets the access to Hyper-Z, it prints "radeon: Acquired Hyper-Z" to stdout. r300-r400: Hyper-Z will be enabled by default on r300-r400 once sufficient testing is done with piglit and Lightsmark at least. Be sure to set the env var RADEON_HYPERZ and run piglit with parameters: -c 0
2012-11-27scons: Build ws_xlib on Mac OS X.Vinson Lee1-1/+1
Fixes this SCons build error on Mac OS X if X11 is found. NameError: name 'ws_xlib' is not defined: File "SConstruct", line 144: duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html File "scons-2.2.0/SCons/Script/SConscript.py", line 614: return method(*args, **kw) File "scons-2.2.0/SCons/Script/SConscript.py", line 551: return _SConscript(self.fs, *files, **subst_kw) File "scons-2.2.0/SCons/Script/SConscript.py", line 260: exec _file_ in call_stack[-1].globals File "src/SConscript", line 34: SConscript('gallium/SConscript') File "scons-2.2.0/SCons/Script/SConscript.py", line 614: return method(*args, **kw) File "scons-2.2.0/SCons/Script/SConscript.py", line 551: return _SConscript(self.fs, *files, **subst_kw) File "scons-2.2.0/SCons/Script/SConscript.py", line 260: exec _file_ in call_stack[-1].globals File "src/gallium/SConscript", line 135: 'targets/libgl-xlib/SConscript', File "scons-2.2.0/SCons/Script/SConscript.py", line 614: return method(*args, **kw) File "scons-2.2.0/SCons/Script/SConscript.py", line 551: return _SConscript(self.fs, *files, **subst_kw) File "scons-2.2.0/SCons/Script/SConscript.py", line 260: exec _file_ in call_stack[-1].globals File "src/gallium/targets/graw-xlib/SConscript", line 9: ws_xlib, Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
2012-10-11gallium: unify transfer functionsMarek Olšák1-14/+10
"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 <brianp@vmware.com>
2012-09-19winsys/radeon: fix relocs cachingVadim Girlin2-8/+6
Don't cache pointers to elements of reallocatable array. In some circumstances it caused false cache hits resulting in incorrect command stream and gpu lockup. Note: This is a candidate for the stable branches. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com> Reviewed-by: Marek Olšák <maraeo@gmail.com>
2012-09-05Remove useless checks for NULL before freeingMatt Turner1-3/+1
Same as earlier commit, except for "FREE" This patch has been generated by the following Coccinelle semantic patch: // Remove useless checks for NULL before freeing // // free (NULL) is a no-op, so there is no need to avoid it @@ expression E; @@ + FREE (E); + E = NULL; - if (unlikely (E != NULL)) { - FREE(E); ( - E = NULL; | - E = 0; ) ... - } @@ expression E; type T; @@ + FREE ((T) E); + E = NULL; - if (unlikely (E != NULL)) { - FREE((T) E); ( - E = NULL; | - E = 0; ) ... - } @@ expression E; @@ + FREE (E); - if (unlikely (E != NULL)) { - FREE (E); - } @@ expression E; type T; @@ + FREE ((T) E); - if (unlikely (E != NULL)) { - FREE ((T) E); - } Reviewed-by: Brian Paul <brianp@vmware.com>
2012-09-05Don't cast the return value of malloc/reallocMatt Turner1-2/+2
This patch has been generated by the following Coccinelle semantic patch: // Don't cast the return value of malloc/realloc. // // Casting the return value of malloc/realloc only stands to hide // errors. @@ type T; expression E1, E2; @@ - (T) ( _mesa_align_calloc(E1, E2) | _mesa_align_malloc(E1, E2) | calloc(E1, E2) | malloc(E1) | realloc(E1, E2) )
2012-09-04winsys/radeon: create only one winsys for each fdChristian König2-2/+41
Fixing problems with GLAMOR. Signed-off-by: Christian König <deathsimple@vodafone.de> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2012-08-16gallium/radeon: Don't assign virtual address space for BO that already has one.Michel Dänzer1-1/+1
We'd end up re-using the old one and throwing away the new one anyway, but only after a roundtrip to the kernel. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-16gallium/radeon: Create hole for waste when allocating from va_offset.Michel Dänzer1-0/+6
Otherwise, the wasted area could never be used for an allocation again. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-16gallium/radeon: Fix potential address space loss in radeon_bomgr_force_va().Michel Dänzer1-6/+13
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-16gallium/radeon: Delete uppermost virtual address space hole if it's at the top.Michel Dänzer1-1/+12
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-16gallium/radeon: Fix losing holes when allocating virtual address space.Michel Dänzer1-1/+6
If a hole exactly matches the allocated size plus alignment, we would fail to preserve the alignment as a hole. This would result in never being able to use the alignment area for an allocation again. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-16gallium/radeon: Merge holes when freeing virtual address space.Michel Dänzer1-7/+38
Otherwise we'll likely end up with an ever increasing amount of ever smaller holes. Requires keeping the list ordered wrt offsets. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-16gallium/radeon: Make va_offset 64 bits wide.Michel Dänzer1-1/+1
Otherwise we'd wrap around after 32 bits. The kernel currently limits GPU virtual address space to 4GB anyway, but that will probably change sooner or later, and this would result in confusing error messages when running out of virtual address space even now. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-15r600g: implement timestamp query and get_timestamp hookMarek Olšák2-0/+28
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-15configure.ac: bump libdrm_radeon requirement to 2.6.38Marek Olšák1-1/+0
2012-08-15winsys/radeon: print error if CS is overflowedMarek Olšák1-2/+6
and don't submit the CS to the kernel.
2012-08-08radeon/winsys: fix winsys VM handlingChristian König1-3/+4
Move releasing the VM area after closing the bo handle. This partially fixes: https://bugs.freedesktop.org/show_bug.cgi?id=45018 Signed-off-by: Christian König <deathsimple@vodafone.de> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-08-01scons: Add support for Intel Compiler.Vinson Lee1-1/+1
The patch makes the SCons build with Intel Compiler successful. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
2012-07-25scons: Fix build with clang.Vinson Lee1-1/+1
Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
2012-06-17r600g: enable streamout by default on r7xx and DRM 2.17.0Marek Olšák2-3/+0
Now that it's in Linus's tree. Has anyone had a chance to test streamout on Cayman recently?
2012-06-15winsys/radeon: enable IB submission to compute rings v2Christian König3-7/+15
This allows to submit things to the compute only rings on cayman+ v2: rebased on current master and actually make use of the new flag in evergreen_compute.c Signed-off-by: Christian König <deathsimple@vodafone.de> Reviewed-by: Marek Olšák <maraeo@gmail.com>
2012-06-15winsys/radeon: Remove unnecessary pipe_thread_destroy in radeon_drm_cs_destroyMaarten Lankhorst1-1/+0
Fixes crash bug introduced with 210ddf0819b5 fd.o #49198 pthread_detach after a pthread_join is unneeded. Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com> Signed-off-by: Marek Olšák <maraeo@gmail.com>
2012-05-24scons: Fix SCons build infrastructure for FreeBSD.Vinson Lee1-1/+1
This patch gets the FreeBSD SCons build working again. The build still fails though. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
2012-05-16gallium/radeon: Fix r300g tiling breakage.Michel Dänzer2-3/+14
Commit 11f056a3f0b87e86267efa8b5ac9d36a343c9dc1 broke the r300g build. Fix it up, and reinstate some code which isn't needed by r600g and radeonsi but is by r300g.
2012-05-16radeonsi: Initial tiling support.Michel Dänzer1-2/+2
Largely based on the corresponding Evergreen support in r600g.
2012-05-16r600g: Set tiling information for BOs being shared.Michel Dänzer2-9/+35
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=48747