summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/drm
AgeCommit message (Collapse)Author
2010-05-27r600g: adapt to latest interfaces changesMarek Olšák
- 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.
2010-05-27r600g: Initial importJerome Glisse
2010-03-24gallium: Reorg winsys directoriesJakob Bornecrantz
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%)
2010-03-24gallium: Move xorg drivers to targetsJakob Bornecrantz
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%)
2010-03-24gallium: Move egl drivers to targetsJakob Bornecrantz
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
2010-03-24gallium: Move dri drivers to targetsJakob Bornecrantz
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%)
2010-03-24gallium: Remove GALLIUM_WINSYS_DRM_DIRSJakob Bornecrantz
2010-03-23dri: make unresolved symbol test link work even without a libGL.soLuca Barbieri
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.
2010-03-23dri: Add $(DRI_LIB_DEPS) when linking the test binaryKristian Høgsberg
This will make sure we pick up libdrm_$(chipset).so from the right place.
2010-03-23dri: use mv -f instead of mv to ensure no prompting occursLuca Barbieri
Using just mv may cause prompts on some systems/configurations.
2010-03-23dri: test whether the built drivers have unresolved symbolsLuca Barbieri
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 <chantry.xavier@gmail.com> and Michel Daenzer <michel@daenzer.net> for helping with this. Signed-off-by: Luca Barbieri <luca@luca-barbieri.com> Acked-by: Brian Paul <brian.e.paul@gmail.com>
2010-03-23radeong: fix build issue with libdrm < 2.4.19Marek Olšák
2010-03-22radeong: Always initialize this variable.Corbin Simpson
May or may not be responsible for slight increases in ipers FPS.
2010-03-21r300g: add and enable square microtilingMarek Olšák
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.
2010-03-21r300g: cleanup tiling flags propagationMarek Olšák
2010-03-21r300g: remove unused codeMarek Olšák
2010-03-21Revert "drm/sw: does not need sw_winsys"George Sapountzis
This reverts commit 97a694e2211dc804090f282d8e096c028f29579f.
2010-03-21Revert "gallium: add soft screen helper"George Sapountzis
This reverts commit f87a5f6499f51f651c2a9f2d4682875b22926905.
2010-03-21Revert "drm/sw: just s/softpipe_create_screen/gallium_soft_create_screen/"George Sapountzis
This reverts commit 5d524cce9c4fcc18ed977801d59ba7bb911020db.
2010-03-21drm/sw: just s/softpipe_create_screen/gallium_soft_create_screen/George Sapountzis
This partially reverts commit f87a5f6499f51f651c2a9f2d4682875b22926905.
2010-03-21gallium: add soft screen helperGeorge Sapountzis
2010-03-21drm/sw: does not need sw_winsysGeorge Sapountzis
2010-03-21r300g: fix occlusion query hangs.Dave Airlie
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 <airlied@redhat.com>
2010-03-21r300g: add bufmgr cached for vertex/index buffers.Dave Airlie
This adds the cached bufmgr for vertex/index buffers on top of the kernel manager. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-03-20radeong: Use TRUE and FALSE.Corbin Simpson
2010-03-20radeong: Test the BO ptr for NULL instead of using a bool.Corbin Simpson
Slight memory savings, but more importantly also avoids a potential NULL dereference.
2010-03-21r300g: winsys fix tiling change flushes.Dave Airlie
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 <airlied@redhat.com>
2010-03-16i965g: Fix use of an uninitialized variable.Chia-I Wu
2010-03-16winsys/sw: Add a software winsys layered on a pipeJakob Bornecrantz
2010-03-15r300g: rebuild screen/winsys interfaceDave Airlie
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 <airlied@redhat.com>
2010-03-15nv30, nv40: move last files to nvfx/ and rm -rf nv30 nv40Luca Barbieri
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
2010-03-15nv30, nv40: non-trivially unify nv[34]0_screen.cLuca Barbieri
The files have the same structure but are substantially different. They are unified with appropriate conditionals.
2010-03-15nvfx: add nvfx directory to build systemLuca Barbieri
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.
2010-03-13r300g: refrain from using immediate mode if it causes slowdownMarek Olšák
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.
2010-03-12Merge branch '7.8'Michel Dänzer
2010-03-12vmwgfx/dri: Fix SCons build.Michel Dänzer
2010-03-10Revert "r300-gallium: Skeleton for integrating into the python statetracker."José Fonseca
This reverts commit 2d56d0839e6db0861131893d67fe23734800085a. Never actually used.
2010-03-10winsys/drm: Handle circular dependencies in Makefile.egl.Chia-I Wu
The libraries have circular dependencies. Use --start-group and --end-group when producing the final shared libraries.
2010-03-09gallium: create helper for swrast+xlib combinationKeith Whitwell
Several targets may want to reuse this code. It's pretty simple, not sure if this is really a win.
2010-03-09Merge commit 'origin/master' into gallium-sw-api-2Keith Whitwell
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
2010-03-09st/egl: Use xlib_sw_winsys in ximage backend.Chia-I Wu
2010-03-08Merge commit 'origin/gallium-winsys-handle-rebased'Keith Whitwell
2010-03-04svga: Forgot one bit in rebaseJakob Bornecrantz
2010-03-04nouveau: Conversion to winsys handleJakob Bornecrantz
Not the best conversion that could be done.
2010-03-02drm/nouveau: Rename pipe formats.José Fonseca
2010-03-01r300g: Conversion to to winsys handleJakob Bornecrantz
2010-03-01svga: Conversion to winsys handleJakob Bornecrantz
2010-03-01i965g: Conversion to winsys handleJakob Bornecrantz
2010-03-01i915g: Conversion to winsys handleJakob Bornecrantz
2010-03-01gallium: Reorg texture usage flagsJakob Bornecrantz
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.