summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/drm
Commit message (Collapse)AuthorAgeFilesLines
* r600g: adapt to latest interfaces changesMarek Olšák2010-05-2726-6848/+0
| | | | | | | | | | | | | | | | | - Wrapped the buffer and texture create/destroy/transfer/... functions using u_resource, which is then used to implement the resource functions. - Implemented texture transfers. I left the buffer and texture transfers separate because one day we'll need a special codepath for textures. - Added index_bias to the draw_*elements functions. - Removed nonexistent *REP and *FOR instructions. - Some pipe formats have changed channel ordering, so I've removed/fixed nonexistent ones. - Added stubs for create/set/destroy sampler views. - Added a naive implementation of vertex elements state (new CSO). - Reworked {texture,buffer}_{from,to}_handle. - Reorganized winsys files, removed dri,egl,python directories. - Added a new build target dri-r600.
* r600g: Initial importJerome Glisse2010-05-2726-0/+6848
|
* gallium: Reorg winsys directoriesJakob Bornecrantz2010-03-2459-7361/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attached output from commit. delete mode 100644 src/gallium/winsys/drm/SConscript delete mode 100644 src/gallium/winsys/drm/i965/SConscript delete mode 100644 src/gallium/winsys/drm/intel/Makefile delete mode 100644 src/gallium/winsys/drm/intel/SConscript delete mode 100644 src/gallium/winsys/drm/nouveau/Makefile delete mode 100644 src/gallium/winsys/drm/radeon/Makefile delete mode 100644 src/gallium/winsys/drm/radeon/SConscript delete mode 100644 src/gallium/winsys/drm/vmware/Makefile delete mode 100644 src/gallium/winsys/drm/vmware/SConscript rename src/gallium/winsys/{drm/intel/gem => i915/drm}/Makefile (82%) rename src/gallium/winsys/{drm/intel/gem => i915/drm}/SConscript (100%) rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_api.c (100%) rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_batchbuffer.c (100%) rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_buffer.c (100%) rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_fence.c (100%) rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_winsys.h (100%) rename src/gallium/winsys/{drm/i965/gem => i965/drm}/Makefile (78%) rename src/gallium/winsys/{drm/i965/gem => i965/drm}/SConscript (100%) rename src/gallium/winsys/{drm/i965/gem => i965/drm}/i965_drm_api.c (98%) rename src/gallium/winsys/{drm/i965/gem => i965/drm}/i965_drm_buffer.c (100%) rename src/gallium/winsys/{drm/i965/gem => i965/drm}/i965_drm_winsys.h (100%) rename src/gallium/winsys/{drm => }/i965/xlib/Makefile (97%) rename src/gallium/winsys/{drm => }/i965/xlib/xlib_i965.c (100%) rename src/gallium/winsys/{drm => }/nouveau/drm/Makefile (79%) rename src/gallium/winsys/{drm => }/nouveau/drm/nouveau_dri.h (100%) rename src/gallium/winsys/{drm => }/nouveau/drm/nouveau_drm_api.c (100%) rename src/gallium/winsys/{drm => }/nouveau/drm/nouveau_drm_api.h (100%) rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/Makefile (79%) rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/SConscript (100%) rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_buffer.h (100%) rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_drm.c (100%) rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_drm.h (100%) rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_drm_buffer.c (100%) rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_r300.c (100%) rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_r300.h (100%) rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_winsys.h (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/Makefile (63%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/SConscript (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_buffer.c (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_buffer.h (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_context.c (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_context.h (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_fence.c (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_fence.h (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen.c (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen.h (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_dri.c (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_ioctl.c (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_pools.c (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_svga.c (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_surface.c (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_surface.h (100%) rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmwgfx_drm.h (100%) rename src/gallium/winsys/{drm/i965 => sw}/Makefile (61%) copy src/gallium/winsys/{drm/sw => sw/drm}/Makefile (73%) rename src/gallium/winsys/{drm/sw => sw/drm}/sw_drm_api.c (98%) rename src/gallium/winsys/{drm/sw => sw/drm}/sw_drm_api.h (100%) rename src/gallium/winsys/{ => sw}/gdi/SConscript (100%) rename src/gallium/winsys/{ => sw}/gdi/gdi_sw_winsys.c (100%) rename src/gallium/winsys/{ => sw}/gdi/gdi_sw_winsys.h (100%) rename src/gallium/winsys/{ => sw}/null/Makefile (78%) rename src/gallium/winsys/{ => sw}/null/SConscript (100%) rename src/gallium/winsys/{ => sw}/null/null_sw_winsys.c (100%) rename src/gallium/winsys/{ => sw}/null/null_sw_winsys.h (100%) rename src/gallium/winsys/{drm/sw => sw/wrapper}/Makefile (65%) rename src/gallium/winsys/{drm/sw => sw/wrapper}/wrapper_sw_winsys.c (100%) rename src/gallium/winsys/{drm/sw => sw/wrapper}/wrapper_sw_winsys.h (100%) rename src/gallium/winsys/{ => sw}/xlib/Makefile (79%) rename src/gallium/winsys/{ => sw}/xlib/SConscript (100%) rename src/gallium/winsys/{ => sw}/xlib/xlib_sw_winsys.c (100%)
* gallium: Move xorg drivers to targetsJakob Bornecrantz2010-03-2417-2770/+0
| | | | | | | | | | | | | | | | | | | | Attached output from git commit: rename src/gallium/{winsys/drm/intel/xorg => targets/xorg-i915}/Makefile (95%) rename src/gallium/{winsys/drm/intel/xorg => targets/xorg-i915}/intel_xorg.c (98%) rename src/gallium/{winsys/drm/i965/xorg => targets/xorg-i965}/Makefile (78%) rename src/gallium/{winsys/drm/i965/xorg => targets/xorg-i965}/intel_xorg.c (98%) rename src/gallium/{winsys/drm/nouveau/xorg => targets/xorg-nouveau}/Makefile (96%) rename src/gallium/{winsys/drm/nouveau/xorg => targets/xorg-nouveau}/nouveau_xorg.c (98%) rename src/gallium/{winsys/drm/radeon/xorg => targets/xorg-radeon}/Makefile (73%) rename src/gallium/{winsys/drm/radeon/xorg => targets/xorg-radeon}/radeon_xorg.c (98%) rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/Makefile (97%) rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/SConscript (100%) rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_driver.h (100%) rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_hook.h (100%) rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_ioctl.c (99%) rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_screen.c (100%) rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_video.c (99%) rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_xorg.c (100%)
* gallium: Move egl drivers to targetsJakob Bornecrantz2010-03-2416-200/+0
| | | | | | | | | | | | | | | | | | | | | | Atteched output from git commit: rename src/gallium/{winsys/drm => targets}/Makefile.egl (100%) rename src/gallium/{winsys/drm/intel/egl => targets/egl-i915}/Makefile (86%) rename src/gallium/{winsys/drm/i965/egl => targets/egl-i915}/dummy.c (100%) rename src/gallium/{winsys/drm/i965/egl => targets/egl-i965}/Makefile (86%) rename src/gallium/{winsys/drm/intel/egl => targets/egl-i965}/dummy.c (100%) rename src/gallium/{winsys/drm/nouveau/egl => targets/egl-nouveau}/Makefile (88%) rename src/gallium/{winsys/drm/nouveau/egl => targets/egl-nouveau}/dummy.c (100%) rename src/gallium/{winsys/drm/radeon/egl => targets/egl-radeon}/Makefile (87%) rename src/gallium/{winsys/drm/radeon/egl => targets/egl-radeon}/dummy.c (100%) create mode 100644 src/gallium/targets/egl-swrast/Makefile create mode 100644 src/gallium/targets/egl-swrast/swrast_glue.c rename src/gallium/{winsys/drm/vmware/egl => targets/egl-vmwgfx}/Makefile (86%) rename src/gallium/{winsys/drm/swrast/egl => targets/egl-vmwgfx}/dummy.c (100%) delete mode 100644 src/gallium/winsys/drm/swrast/Makefile delete mode 100644 src/gallium/winsys/drm/swrast/core/Makefile delete mode 100644 src/gallium/winsys/drm/swrast/core/swrast_drm_api.c delete mode 100644 src/gallium/winsys/drm/swrast/egl/Makefile delete mode 100644 src/gallium/winsys/drm/vmware/egl/dummy.c
* gallium: Move dri drivers to targetsJakob Bornecrantz2010-03-2414-359/+0
| | | | | | | | | | | | | | Attached output from git commit: rename src/gallium/{winsys/drm/Makefile.template => targets/Makefile.dri} (100%) rename src/gallium/{winsys/drm/intel/dri => targets/dri-i915}/Makefile (75%) rename src/gallium/{winsys/drm/intel/dri => targets/dri-i915}/SConscript (100%) rename src/gallium/{winsys/drm/i965/dri => targets/dri-i965}/Makefile (76%) rename src/gallium/{winsys/drm/i965/dri => targets/dri-i965}/SConscript (100%) rename src/gallium/{winsys/drm/nouveau/dri => targets/dri-nouveau}/Makefile (86%) rename src/gallium/{winsys/drm/radeon/dri => targets/dri-radeong}/Makefile (85%) rename src/gallium/{winsys/drm/radeon/dri => targets/dri-radeong}/SConscript (100%) rename src/gallium/{winsys/drm/vmware/dri => targets/dri-vmwgfx}/Makefile (85%) rename src/gallium/{winsys/drm/vmware/dri => targets/dri-vmwgfx}/SConscript (100%)
* gallium: Remove GALLIUM_WINSYS_DRM_DIRSJakob Bornecrantz2010-03-241-12/+0
|
* dri: make unresolved symbol test link work even without a libGL.soLuca Barbieri2010-03-231-1/+1
| | | | | | | | | | | | | | | | Currently the test link uses -lGL to define the glapi symbols. This makes it impossible to build DRI drivers on systems without Mesa installed and without building the libGL from the Mesa tree first. Some automated build systems trigger this problem. This commit removes -lGL and instead adds a dummy implementation of glapi to dri_test.c This, along with Kristian's commit, should fix all known regressions due to the addition of unresolved symbol checking.
* dri: Add $(DRI_LIB_DEPS) when linking the test binaryKristian Høgsberg2010-03-231-1/+1
| | | | This will make sure we pick up libdrm_$(chipset).so from the right place.
* dri: use mv -f instead of mv to ensure no prompting occursLuca Barbieri2010-03-231-1/+1
| | | | Using just mv may cause prompts on some systems/configurations.
* dri: test whether the built drivers have unresolved symbolsLuca Barbieri2010-03-231-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a different approach to solving this problem that the patch I previously posted, and unlike that, should not cause any problems. Right now undefined symbols in DRI drivers will still allow the build to succeed. As a result, people modifying drivers they cannot test risk creating unloadable drivers with no easy way of automatically avoiding it. For instance, the modifications to nv50 for context transfers caused such an issue recently. Unfortunately, just adding -Wl,--no-undefined doesn't work, because the DRI drivers depend on glapi symbols, but do not depend on libGL.so.1 Adding -lGL is not the correct solution since DRI drivers are not loaded just by libGL, but also by X and possibly by other clients. So, this patch simply tries to build an executable linked to the DRI driver and to libGL. If the DRI driver contains any undefined symbols not satisfied by its dependencies or by libGL, this will fail. This solution does not alter the built drivers, and does not significantly slow down the build process. All classic DRI drivers as well as all the Gallium drivers with configure options compiled successfully with this change. Thanks to Xavier Chantry <[email protected]> and Michel Daenzer <[email protected]> for helping with this. Signed-off-by: Luca Barbieri <[email protected]> Acked-by: Brian Paul <[email protected]>
* radeong: fix build issue with libdrm < 2.4.19Marek Olšák2010-03-232-0/+6
|
* radeong: Always initialize this variable.Corbin Simpson2010-03-221-2/+2
| | | | May or may not be responsible for slight increases in ipers FPS.
* r300g: add and enable square microtilingMarek Olšák2010-03-214-2/+13
| | | | | | It requires DRM 2.1.0 (e.g. kernel 2.6.34) and is disabled on older ones. Finally, the texture tiling implementation is now complete. Uff.
* r300g: cleanup tiling flags propagationMarek Olšák2010-03-213-6/+12
|
* r300g: remove unused codeMarek Olšák2010-03-212-390/+0
|
* Revert "drm/sw: does not need sw_winsys"George Sapountzis2010-03-211-0/+1
| | | | This reverts commit 97a694e2211dc804090f282d8e096c028f29579f.
* Revert "gallium: add soft screen helper"George Sapountzis2010-03-213-31/+5
| | | | This reverts commit f87a5f6499f51f651c2a9f2d4682875b22926905.
* Revert "drm/sw: just s/softpipe_create_screen/gallium_soft_create_screen/"George Sapountzis2010-03-211-4/+26
| | | | This reverts commit 5d524cce9c4fcc18ed977801d59ba7bb911020db.
* drm/sw: just s/softpipe_create_screen/gallium_soft_create_screen/George Sapountzis2010-03-211-26/+4
| | | | This partially reverts commit f87a5f6499f51f651c2a9f2d4682875b22926905.
* gallium: add soft screen helperGeorge Sapountzis2010-03-213-5/+31
|
* drm/sw: does not need sw_winsysGeorge Sapountzis2010-03-211-1/+0
|
* r300g: fix occlusion query hangs.Dave Airlie2010-03-211-2/+4
| | | | | | | | | | Okay need to revist the whole OQ stuff anyways, glean test asserts which is never good. I'm liking the cached bufmgr restrictions less and less, I think I'll probably play with the fence and/or busy stuff ASAP and try and clean it up. Signed-off-by: Dave Airlie <[email protected]>
* r300g: add bufmgr cached for vertex/index buffers.Dave Airlie2010-03-213-4/+18
| | | | | | | This adds the cached bufmgr for vertex/index buffers on top of the kernel manager. Signed-off-by: Dave Airlie <[email protected]>
* radeong: Use TRUE and FALSE.Corbin Simpson2010-03-201-2/+2
|
* radeong: Test the BO ptr for NULL instead of using a bool.Corbin Simpson2010-03-201-8/+4
| | | | | Slight memory savings, but more importantly also avoids a potential NULL dereference.
* r300g: winsys fix tiling change flushes.Dave Airlie2010-03-211-2/+10
| | | | | | | | If we change the tiling on a buffer we need to flush it, the old radeon_buffer.c code had this but it crossed streams when I ported to radeon_drm_buffer.c and I missed it. Should fix some piglit regressions. Signed-off-by: Dave Airlie <[email protected]>
* i965g: Fix use of an uninitialized variable.Chia-I Wu2010-03-161-1/+1
|
* winsys/sw: Add a software winsys layered on a pipeJakob Bornecrantz2010-03-168-2/+475
|
* r300g: rebuild screen/winsys interfaceDave Airlie2010-03-158-175/+720
| | | | | | | | | | | | | | | | | | | | This creates a cleaner winsys and drop the simple screen stuff. It makes r300g use pb_bufmgr structs. It also tries to avoid overheads from mapping too often. v5: clean warnings v6: break out of cache check on first buffer - since most likely the first busy one implies all after it are busy. v7: cleanup a bit v8-merged: drop cman for now to just get all the interface changes in first. rework to changes that happened upstream Signed-off-by: Dave Airlie <[email protected]>
* nv30, nv40: move last files to nvfx/ and rm -rf nv30 nv40Luca Barbieri2010-03-153-26/+2
| | | | | | | | | | | This is the last nvfx unification patch. nv[34]0_fragtex.c are moved to the common directory nv[34]0_shader.h are renamed to nv[34]0_vertprog.h and moved to the common directory The separate nv30 and nv40 directories are removed from the build system
* nv30, nv40: non-trivially unify nv[34]0_screen.cLuca Barbieri2010-03-151-3/+1
| | | | | | The files have the same structure but are substantially different. They are unified with appropriate conditionals.
* nvfx: add nvfx directory to build systemLuca Barbieri2010-03-153-0/+21
| | | | | | | Will be used to hold source files unified between nv30 and nv40. Eventually all nv30 and nv40 code will be moved there and the nv30 and nv40 directories will be removed.
* r300g: refrain from using immediate mode if it causes slowdownMarek Olšák2010-03-132-0/+17
| | | | | | | | | E.g. when mapping buffers could flush CS or cause waiting for a busy buffer. The side effect of this is it also fixes progs/demos/arbocclude however a separate fix should be proposed to address this issue in other cases it might occur.
* Merge branch '7.8'Michel Dänzer2010-03-121-0/+1
|\
| * vmwgfx/dri: Fix SCons build.Michel Dänzer2010-03-121-0/+1
| |
* | Revert "r300-gallium: Skeleton for integrating into the python statetracker."José Fonseca2010-03-106-1297/+0
| | | | | | | | | | | | This reverts commit 2d56d0839e6db0861131893d67fe23734800085a. Never actually used.
* | winsys/drm: Handle circular dependencies in Makefile.egl.Chia-I Wu2010-03-101-2/+4
| | | | | | | | | | The libraries have circular dependencies. Use --start-group and --end-group when producing the final shared libraries.
* | gallium: create helper for swrast+xlib combinationKeith Whitwell2010-03-091-1/+1
| | | | | | | | | | Several targets may want to reuse this code. It's pretty simple, not sure if this is really a win.
* | Merge commit 'origin/master' into gallium-sw-api-2Keith Whitwell2010-03-0910-467/+272
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/softpipe/sp_texture.c src/gallium/drivers/softpipe/sp_winsys.h src/gallium/state_trackers/egl/common/egl_g3d.c src/gallium/state_trackers/egl/x11/native_x11.c src/gallium/state_trackers/egl/x11/native_x11.h src/gallium/state_trackers/egl/x11/native_ximage.c
| * \ Merge commit 'origin/gallium-winsys-handle-rebased'Keith Whitwell2010-03-0810-467/+272
| |\ \ | | |/ | |/|
| | * svga: Forgot one bit in rebaseJakob Bornecrantz2010-03-041-3/+0
| | |
| | * nouveau: Conversion to winsys handleJakob Bornecrantz2010-03-041-66/+6
| | | | | | | | | | | | Not the best conversion that could be done.
| | * r300g: Conversion to to winsys handleJakob Bornecrantz2010-03-014-143/+83
| | |
| | * svga: Conversion to winsys handleJakob Bornecrantz2010-03-011-32/+44
| | |
| | * i965g: Conversion to winsys handleJakob Bornecrantz2010-03-012-126/+75
| | |
| | * i915g: Conversion to winsys handleJakob Bornecrantz2010-03-012-96/+63
| | |
| | * gallium: Reorg texture usage flagsJakob Bornecrantz2010-03-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Introduce a new shared usage and rename primary to scanout. The display target usage is more of a windows concept and doesn't mean the same thing as shared. Display target means that the surface should be presentable, for softpipe this means that it should be backed by a hardware buffer.
* | | st/egl: Use xlib_sw_winsys in ximage backend.Chia-I Wu2010-03-091-1/+2
|/ /
* / drm/nouveau: Rename pipe formats.José Fonseca2010-03-021-2/+2
|/