summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Also print _NEW_STENCIL in _mesa_print_state()Kristian Høgsberg2010-03-231-1/+2
|
* nvfx: add NOUVEAU_VTXIDX_IN_VRAM variable to put vertex/index buffers in VRAMLuca Barbieri2010-03-233-1/+33
| | | | | | | | | | | | 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.
* nvfx: delay allocation of buffers in GART/VRAM to validation timeLuca Barbieri2010-03-232-5/+3
| | | | | | | | | | | | | | | | | | | | | | | 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.
* st/mesa: make st_manager.c set have[Stencil|Depth]Buffer only if bits > 0Luca Barbieri2010-03-231-3/+3
| | | | Fixes a segfault when clearing a non-existent stencil buffer.
* dri: use mv -f instead of mv to ensure no prompting occursLuca Barbieri2010-03-232-2/+2
| | | | Using just mv may cause prompts on some systems/configurations.
* Merge branch '7.8'Brian Paul2010-03-232-187/+219
|\ | | | | | | | | | | | | | | | | | | 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
| * softpipe: comments, re-formatting, etcBrian Paul2010-03-231-14/+24
| |
| * softpipe: add special cases for all Z compare modes for 16-bit Z bufferBrian Paul2010-03-232-173/+195
| | | | | | | | | | | | | | | | 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
| * st/glx: better format selection in xmesa_choose_z_stencil_format()Brian Paul2010-03-231-17/+24
| | | | | | | | | | This is a back-port of commit ef2664da6c4db1b52ef351641e3ee949b87f9c7b from master.
| * glx: Suppress BadDrawable from DRI2CopyRegionKristian Høgsberg2010-03-221-1/+14
| | | | | | | | | | | | | | | | | | | | 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.
| * mesa: set version string to 7.8-rc27.8-rc2Ian Romanick2010-03-221-1/+1
| |
| * intel: Call intel_prepare_render() before looking up regions.Kristian Høgsberg2010-03-223-6/+9
| | | | | | | | Fixes #27213.
* | nvfx: don't crash on empty fragment programLuca Barbieri2010-03-231-1/+2
| |
* | nvfx: fix coding style in nvfx_transfer.cLuca Barbieri2010-03-231-8/+8
| |
* | nvfx: stop incessantly spewing debug messages on the terminalLuca Barbieri2010-03-232-3/+8
| | | | | | | | | | | | | | | | | | | | | | 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.
* | nvfx: fix/workaround nv3x hwtnl issuesLuca Barbieri2010-03-231-5/+6
| | | | | | | | | | | | | | | | | | | | | | 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.
* | dri: test whether the built drivers have unresolved symbolsLuca Barbieri2010-03-233-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| |
* | r300g: fix glean occlusion query testDave Airlie2010-03-231-0/+2
| |
* | glx: Suppress BadDrawable from DRI2CopyRegionKristian Høgsberg2010-03-221-1/+14
| | | | | | | | | | | | | | | | | | | | 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.
* | gallium/docs: Cleanup and clarify point ras info.Corbin Simpson2010-03-221-32/+44
| | | | | | | | ...This state's interdependent? Really? Needs moar cleanup.
* | radeong: Always initialize this variable.Corbin Simpson2010-03-221-2/+2
| | | | | | | | May or may not be responsible for slight increases in ipers FPS.
* | r300g: Cleanup a few old warnings.Corbin Simpson2010-03-221-24/+9
| | | | | | | | | | Those paths aren't important anymore, and a debugging warning won't stop a hardlock anyway.
* | GLX/OML: honor OML semantics even if target, divisor and remainder are 0Jesse Barnes2010-03-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]> Signed-off-by: Jesse Barnes <[email protected]>
* | i965: Add disasm for SNB MATH opcode.Eric Anholt2010-03-221-1/+6
| |
* | i965: Enable normal clipping on SNB.Eric Anholt2010-03-221-1/+1
| | | | | | | | Rejecting all doesn't seem to be helping get the pipeline lit up.
* | i965: Force single program flow in SNB GS, to match gen4 GS.Eric Anholt2010-03-221-1/+2
| |
* | i965: Correct copy and wasted field shifts for SNB GS URB.Eric Anholt2010-03-221-2/+2
| |
* | i965: Enable VS on SNB.Eric Anholt2010-03-221-1/+2
| | | | | | | | | | | | | | 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.
* | i965: Remove gratuitous jump or nop from OPCODE_END to vertex emit.Eric Anholt2010-03-221-40/+3
| | | | | | | | | | | | Just emit the URB write at END time. Subroutine code that sits after OPCODE_END won't be executed since we've ended the thread at the point that the URB write is done.
* | i965: Ignore execution mask for the mov(m0, g0) of VS URB write header on SNB.Eric Anholt2010-03-221-0/+3
| | | | | | | | | | Otherwise, we may not get the FFTID set up which would break freeing of resources.
* | i965: Allow FS constants to be used as immediates instead of push/pull.Eric Anholt2010-03-223-7/+58
| | | | | | | | | | | | | | The hope is to later take advantage of the reduced constant usage to free up regs. This only covers the GLSL path at the moment, because the brw_wm_emit path doesn't get the information as to whether a float value is a constant or a uniform.
* | i965: Add INTEL_DEBUG=glsl_force to force brw_wm_glsl.c.Eric Anholt2010-03-223-0/+5
| | | | | | | | | | I keep finding the desire to force this path to debug it instead of cooking up goofy-looking testcases to do so.
* | i965: Optimize OPCODE_CMP by using BRW_SEL to choose results.Eric Anholt2010-03-221-5/+1
| | | | | | | | Tested with piglit glsl-fs-sqrt-branch, fp-cmp.vpfp.
* | st/glx: fix depth/stencil format selection codeBrian Paul2010-03-221-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a pretty big performance regression caused by commit 3475e88442c16fb2b50b903fe246b3ebe49da226. When the user does not request a stencil buffer it's important that we don't use a depth/stencil format (or at least make it our last choice). If the user calls glClear(GL_DEPTH_BUFFER_BIT) when we have a combined depth/stencil buffer, that causes us to hit the clear_with_quad() path which can be much, much slower than calling pipe_context::clear(). Also, try to use a shallower depth format before a deeper one.
* | st/mesa: rename st_framebuffer() to st_ws_framebuffer()Brian Paul2010-03-221-9/+12
| | | | | | | | Be clear that this function is not just a cast wrapper.
* | intel: Call intel_prepare_render() before looking up regions.Kristian Høgsberg2010-03-223-6/+9
| | | | | | | | Fixes #27213.
* | st/mesa: Remove unnecessary headers.Vinson Lee2010-03-222-3/+0
| |
* | glslcompiler: fix build againBrian Paul2010-03-221-7/+2
| | | | | | | | | | Simply use the libglapi.a archive instead of individual .o files. Fixes the non-debug build.
* | cso: Remove unnecessary header.Vinson Lee2010-03-221-1/+0
| |
* | dri/nouveau: Rectangle texture fixes.Francisco Jerez2010-03-222-28/+46
| |
* | dri/nouveau: Some render to texture fixes.Francisco Jerez2010-03-221-5/+1
| |
* | dri/nouveau: Fix swrast fallbacks when the read and draw buffers aren't the ↵Francisco Jerez2010-03-221-10/+20
| | | | | | | | same.
* | dri/nouveau: Expose EXT_framebuffer_blit.Francisco Jerez2010-03-222-0/+2
| |
* | dri/nouveau: Plug in some mesa_meta functions instead of the swrast variants.Francisco Jerez2010-03-221-0/+3
| |
* | dri/nouveau: Emit dirty states on nouveau_validate_framebuffer.Francisco Jerez2010-03-221-1/+3
| | | | | | | | | | Fixes broken intermediate frames when a window is being resized (regression caused by 878eef8c4).
* | nvfx: fix sampler views supportLuca Barbieri2010-03-223-3/+2
| | | | | | | | The code was half converted, resulting in texturing being totally broken.
* | glslcompiler: fix build breakageBrian Paul2010-03-221-0/+1
| |
* | Merge branch '7.8'Brian Paul2010-03-2212-116/+77
|\| | | | | | | | | | | | | Conflicts: src/gallium/drivers/cell/ppu/cell_screen.c src/mesa/state_tracker/st_cb_drawpixels.c
| * glslcompiler: fix build breakageBrian Paul2010-03-221-1/+2
| |