summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-03-24gallium: Add warnings incase pipe drivers are not built in targetsJakob Bornecrantz
2010-03-24gallium: Make scons build dri/xorg drivers againJakob Bornecrantz
2010-03-24radeong: Fix scons buildJakob Bornecrantz
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-24st/mesa: fix typo in prev commitBrian Paul
2010-03-24st/mesa: fix sampler_view destruction bug when texture is sharedBrian Paul
Since texture's can be shared by many contexts, the texture's sampler view's context pointer might be invalid by time we delete the texture. Prevent crashes/etc by setting the sampler view's context to be the calling context before deleting it. This should be safe as long as all contexts which share the texture are using the same gallium driver. That's a reasonable assumption since pipe_texture objects aren't compatible between different drivers anyway.
2010-03-24st/mesa: code clean-ups, formatting fixes, comments, etcBrian Paul
2010-03-24st/mesa: rename st_clear() to st_Clear()Brian Paul
To be consistent with other Mesa driver functions.
2010-03-24st/mesa: return GL_TRUE/GL_FALSE if return type is GLbooleanBrian Paul
Just to be consistent.
2010-03-23swrast: improve depth texture mipmap selectionBrian Paul
We still don't do proper min/mag filtering but this is better than just sampling the base mipmap level all the time. Fixes piglit depth-level-clamp test. Fixes fd.o bug 27256.
2010-03-23st/glx: add support for multiple displaysBrian Paul
This is a quick & dirty solution, but it works. See comments in the code for other ideas. Fixes regressions/breakage seen in progs/xdemos/glxheads, etc. from commit 6632915e957149c153a3f793c400a532b4995b18.
2010-03-23glslcompiler: added option to do linking of vert/frag shadersBrian Paul
2010-03-23dri: fix dri_test.c for non-TLS buildLuca Barbieri
_glapi_Context and _glapi_Dispatch have different constness between TLS and non-TLS builds.
2010-03-23dri: add _glthread_GetID to dri_test.c dummy glapiLuca Barbieri
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-23Change libX11 variables to not conflict with AC_PATH_XTRADan Nicholson
The variable X_LIBS from AC_PATH_XTRA contains only the -L searchdir parameter and not the -lX11 to link to Xlib. Use X11 prefixed build vars for linking with Xlib to avoid the conflict. Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
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-23i965: Stop abusing ctx->NewState flags for storing driver internal changes.Eric Anholt
We're still abusing the flags by putting them where our driver stores ctx->NewState changes. Making them into more restricted state change flags would be a project for later. Fixes a failure where calling intel_draw_buffer() too often would trip up Mesa assertions about when Mesa state could get changed, when it hadn't. Bug #27034.
2010-03-23mesa: Also print _NEW_STENCIL in _mesa_print_state()Kristian Høgsberg
2010-03-23nvfx: add NOUVEAU_VTXIDX_IN_VRAM variable to put vertex/index buffers in VRAMLuca Barbieri
On some systems, putting vertex and index buffers in VRAM instead of GART memory eliminates massive graphics corruption which is otherwise present, due to unclear causes. This patch adds an environment variable that does that, along with helpful messages. It turns it on by default on G7x, as it is what I am seeing corruption on and some other reports also seemed to pinpoint these cards.
2010-03-23nvfx: delay allocation of buffers in GART/VRAM to validation timeLuca Barbieri
Currently we allocate buffers in GART or VRAM at creation time. However, when using swtnl, this results in reads from uncached memory, which drastically impair performance. So, for now, cause nouveau_screen.c to not pass any placement flags to buffer creation, so that the buffers are moved later. Previously libdrm itself did this, but was changed to not to do it. This may introduce an extra copy in normal usage, but this currently does not seem to introduce significant performance degradation. This will be revisited when pipebuffer is integrated. Note that for AGP systems, properly solving this may be complex since currently there is no fast way of reading from GART/VRAM. We will probably need to try mapping AGP as writethrough and, in addition, make buffer creation more aware of future buffer usage.
2010-03-23st/mesa: make st_manager.c set have[Stencil|Depth]Buffer only if bits > 0Luca Barbieri
Fixes a segfault when clearing a non-existent stencil buffer.
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-23Merge branch '7.8'Brian Paul
Conflicts: Makefile src/gallium/state_trackers/glx/xlib/xm_api.c src/mesa/drivers/dri/intel/intel_blit.c src/mesa/drivers/dri/intel/intel_pixel_copy.c src/mesa/main/version.h
2010-03-23softpipe: comments, re-formatting, etcBrian Paul
2010-03-23softpipe: add special cases for all Z compare modes for 16-bit Z bufferBrian Paul
We had fast paths for PIPE_FUNC_LESS and LEQUAL before. To satisfy OpenGL invariance rules, all depth compare modes should produce the same fragment Z values. Fixes progs/demos/singlebuffer.c
2010-03-23st/glx: better format selection in xmesa_choose_z_stencil_format()Brian Paul
This is a back-port of commit ef2664da6c4db1b52ef351641e3ee949b87f9c7b from master.
2010-03-23nvfx: don't crash on empty fragment programLuca Barbieri
2010-03-23nvfx: fix coding style in nvfx_transfer.cLuca Barbieri
2010-03-23nvfx: stop incessantly spewing debug messages on the terminalLuca Barbieri
Currently we are continuously spewing messages about these variables since we call debug_get_bool_option everytime we want to check their value. This is annoying, slows things down due to terminal rerendering and obscures useful messages. This patch only calls debug_get_bool_option once and caches the result in a static variable.
2010-03-23nvfx: fix/workaround nv3x hwtnl issuesLuca Barbieri
This patch re-emits the viewport state on framebuffer or rasterizer change. This seems to be necessary on nv3x, but the reason is not fully understood. It is quite likely that this isn't really the correct fix, but seems to work, and makes nv3x much better.
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-23r300g: fix glean occlusion query testDave Airlie
2010-03-22glx: Suppress BadDrawable from DRI2CopyRegionKristian Høgsberg
This can happen when an X window is destroyed behind our back. We use DRI2CopyRegion behind the scenes in many places (like flushing the fake front to the real front) so we have to ignore X errors triggered in that case. The glean test cases trigger this consistently as they don't destroy the GLX drawable nicely, they just destroy the X window.
2010-03-22glx: Suppress BadDrawable from DRI2CopyRegionKristian Høgsberg
This can happen when an X window is destroyed behind our back. We use DRI2CopyRegion behind the scenes in many places (like flushing the fake front to the real front) so we have to ignore X errors triggered in that case. The glean test cases trigger this consistently as they don't destroy the GLX drawable nicely, they just destroy the X window.
2010-03-22gallium/docs: Cleanup and clarify point ras info.Corbin Simpson
...This state's interdependent? Really? Needs moar cleanup.
2010-03-22radeong: Always initialize this variable.Corbin Simpson
May or may not be responsible for slight increases in ipers FPS.
2010-03-22r300g: Cleanup a few old warnings.Corbin Simpson
Those paths aren't important anymore, and a debugging warning won't stop a hardlock anyway.
2010-03-22mesa: set version string to 7.8-rc2Ian Romanick
2010-03-22GLX/OML: honor OML semantics even if target, divisor and remainder are 0Jesse Barnes
This change passes a remainder of 1 to the server with the DRI2SwapBuffers request, causing it to honor the OML semantics for the swap rather than falling through to glXSwapBuffers behavior. The remainder actually ends up ignored since the divisor is 0, but we need to differentiate the OML and standard behavior somehow. Reported-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-03-22i965: Add disasm for SNB MATH opcode.Eric Anholt
2010-03-22i965: Enable normal clipping on SNB.Eric Anholt
Rejecting all doesn't seem to be helping get the pipeline lit up.
2010-03-22i965: Force single program flow in SNB GS, to match gen4 GS.Eric Anholt
2010-03-22i965: Correct copy and wasted field shifts for SNB GS URB.Eric Anholt
2010-03-22i965: Enable VS on SNB.Eric Anholt
It appears that the thing that was killing VS threads was the gratuitous NOP that replaced the gratuitous jump from OPCODE_END to the nearby OPCODE_END implementation. With that gone, we can move on to the rest of the pipeline.