summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* i965/gen6: Apply documented workaround for nonpipelined state packets.Eric Anholt2011-06-203-1/+45
| | | | | | Fixes a 100% reproducible GPU hang in topogun-1.06-orc-84k.trace. Reviewed-by: Kenneth Graunke <[email protected]>
* i965/gen6: Limit the workaround flush to once per primitive.Eric Anholt2011-06-205-0/+16
| | | | | We're about to call this function in a bunch of state emits, so let's not spam the hardware with flushes too hard.
* i965/gen6: Use an BO instead of writing to address 0 for PIPE_CONTROL W/A.Eric Anholt2011-06-204-3/+23
| | | | | | | | This was spectacularly unsafe. On my system, address 0 happens to be the hardware status page for the render ring, and the first quadword of that happens to contain nothing we ever look at, but I sure didn't look forward to having to debug some day when, for example, the kernel happened to bind the ringbuffer before binding the hwsp.
* i965/gen6: Factor the PIPE_CONTROL workaround to a separate function.Eric Anholt2011-06-201-8/+21
| | | | | We're need this workaorund a lot more than we're currently doing, so let's reuse it.
* i965/gen6: Remove state flagging on BRW_NEW_CURBE_OFFSETS.Eric Anholt2011-06-203-6/+3
| | | | | | | | That flag was leftover from gen4, where brw_curbe.c is choosing ranges of the CURBE space for constants to live in, and the unit state tells where to load them from. That's not the case on gen6 -- we don't set this flag (since constants aren't in the URB), nor do we have any state like that to upload.
* i965/gen4: Remove old VS unit state key structure.Eric Anholt2011-06-201-12/+0
| | | | We're streaming VS state out now, not caching it.
* i965/gen6: Add missing state flag for VS push constants.Eric Anholt2011-06-201-1/+1
| | | | It was already annotated up above and everything.
* i965/gen6+: Correct gratuitous dependency on NEW_POLYGONSTIPPLE.Eric Anholt2011-06-202-6/+11
| | | | That flag is for the contents of the stipple, not the enable flag.
* i965/gen6+: Add a missing state flag for WM constants.Eric Anholt2011-06-202-3/+6
|
* wayland: Pass use_invalidate extension to driverKristian Høgsberg2011-06-202-2/+3
|
* egl_dri2/x11: Check availability of the dri2 extensionBenjamin Franzke2011-06-201-0/+9
| | | | | Do this before query versions, or xcb will shutdown and the connection can not be used for swrast.
* docs: update EGL for changed configure optionsChia-I Wu2011-06-203-47/+27
|
* configure.ac: remove deprecated EGL optionsChia-I Wu2011-06-201-9/+0
|
* xorg/nouveau: rename to nouveau2Marcin Slusarz2011-06-202-8/+8
| | | | Signed-off-by: Marek Olšák <[email protected]>
* st/xorg: initialize drm_mode.typeMarcin Slusarz2011-06-201-0/+1
| | | | | | it's uninitialized, but used by kernel (drm_mode_setcrtc -> drm_mode_set_crtcinfo) Signed-off-by: Marek Olšák <[email protected]>
* st/xorg: add GALLIUM_AUXILIARIES to target dependenciesMarcin Slusarz2011-06-201-1/+1
| | | | | | Without it changes to GALLIUM_AUXILIARIES don't induce target rebuild Signed-off-by: Marek Olšák <[email protected]>
* gallium/nouveau: remove unused nouveau_screen_bo_userMarcin Slusarz2011-06-202-16/+0
|
* st/xorg: fix crash triggered by rendercheck -t composite -f a8r8g8b8 -o Src, ↵Marcin Slusarz2011-06-201-1/+1
| | | | | | Saturate samplers[0] may remain uninititialized if src picture/pixmap is null
* st/xorg: fix crash triggered by rendercheck -t blend -f a8r8g8b8 -o ClearMarcin Slusarz2011-06-201-2/+2
|
* r600g: implement seamless_cube_map on r600-r700Marek Olšák2011-06-203-7/+46
| | | | | st/mesa guarantees that all bound sampler states have the same value in seamless_cube_map.
* r600g: remove some magic numbersMarek Olšák2011-06-192-2/+13
|
* configure.ac: add back --enable-gallium-eglMarek Olšák2011-06-191-4/+27
|
* configure.ac: Avoid running llvm-config when it hadn't been checked for.Cyril Brulebois2011-06-191-0/+2
| | | | | | | | | | | | | | | | If --disable-gallium is passed, llvm-config isn't checked for, so mark it explicitly as absent, through LLVM_CONFIG=no. Passing --disable-gallium would result in: | ../configure: line 9739: --version: command not found | ../configure: line 9740: --cppflags: command not found | ../configure: line 9741: --libs: command not found | ../configure: line 9743: --ldflags: command not found With this commit, one gets that instead: | configure: error: LLVM is required to build Gallium R300 on x86 and x86_64 Signed-off-by: Cyril Brulebois <[email protected]>
* configure.ac: build r600g by defaultMarek Olšák2011-06-191-2/+2
| | | | Reviewed-by: Alex Deucher <[email protected]>
* configure.ac: add option --with-gallium-drivers=DIRSMarek Olšák2011-06-191-108/+57
| | | | | | | | | | | This removes all the --enable-gallium-$driver options and --disable-gallium. Gallium can be disabled by --with-gallium-drivers= (without parameters). Default is: --with-gallium-drivers=r300,swrast Reviewed-by: Alex Deucher <[email protected]>
* configure.ac: remove --with-state-trackersMarek Olšák2011-06-191-142/+75
| | | | | | | | | | | | | | | There is an obvious redundancy: --with-driver=dri VS --with-state-trackers=dri --with-driver=xlib VS --with-state-trackers=glx --enable-openvg VS --with-state-trackers=vega --enable-egl VS --with-state-trackers=egl This patch adds two new options for the remaining state trackers: --enable-xorg --enable-d3d1x Reviewed-by: Alex Deucher <[email protected]>
* configure.ac: remove redundant option --enable-gallium-eglMarek Olšák2011-06-191-26/+4
| | | | | | We already have --enable-gallium, --enable-egl, and --with-state-trackers=egl. Reviewed-by: Alex Deucher <[email protected]>
* u_vbuf_mgr: make u_vbuf_mgr_draw_begin return flags in a bitmaskMarek Olšák2011-06-194-36/+36
|
* r600g: fix warning: assignment discards qualifiers from pointer target typeMarek Olšák2011-06-191-1/+2
|
* u_vbuf_mgr: fix uploading if format size is greater than strideMarek Olšák2011-06-191-0/+5
|
* i965: Enable extension GL_ARB_shader_texture_lod.Kenneth Graunke2011-06-182-1/+2
| | | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36987 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for TXD with shadow comparisons.Kenneth Graunke2011-06-185-7/+76
| | | | | | | | | | | | | | Our hardware doesn't have a sample_d_c message, so we have to do a regular sample_d and emit instructions to manually perform the comparison. This requires a state dependent recompile whenever the sampler's compare mode or function change. This adds the per-sampler comparison functions to brw_wm_prog_key, but only sets them when the sampler's compare mode is GL_COMPARE_R_TO_TEXTURE (i.e. only for shadow sampling). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Refactor texture result swizzling into a helper function.Kenneth Graunke2011-06-182-9/+21
| | | | | | | The next patch will add a few additional uses. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Move sampler fetch to the top of the ir_texture visit function.Kenneth Graunke2011-06-181-6/+3
| | | | | | | | This makes it available earlier, which will soon be necessary. (Separating code motion from actual changes.) Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for non-shadow textureGrad (TXD) on gen4.Kenneth Graunke2011-06-182-2/+39
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for non-shadow textureGrad (TXD) on gen5/6.Kenneth Graunke2011-06-181-1/+31
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Add support for non-shadow textureGrad (TXD) on Ivybridge.Kenneth Graunke2011-06-182-10/+43
| | | | | | | | | | This is somewhat ugly, but I couldn't think of a nicer way to handle the interleaved coordinate/derivative parameter loading. Ironlake and Sandybridge will still hit an assertion in visit(). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/fs: Check for compilation failure and bail before optimizing.Kenneth Graunke2011-06-181-0/+2
| | | | | | | | | | | | Prior to this patch, it would attempt to optimize and allocate registers for the program even if it failed to compile. This seems wasteful. More importantly, the "message length > 11" failure seems to choke the instruction scheduler, making it somehow use an undefined value and segmentation fault. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Use state streaming on programs, and state base address on gen5+.Eric Anholt2011-06-1826-298/+277
| | | | | | | | | | There will be a little bit of thrashing of the program cache BO as the cache warms up, but once the application is in steady state, this reduces relocations on gen5 and later. On my T420 laptop, cairogl firefox-talos-gfx performance improves 2.6% +/- 1.3% (n=6). No statistically significant performance difference on nexuiz (n=5).
* i965: Only flag the new-batch related state as dirty at new batch time.Eric Anholt2011-06-181-5/+1
| | | | | | This was debug code from the initial import of the driver. No statistically significant performance difference on cairo-gl or nexuiz (n=6).
* mesa: Fix render-to-texture regression.Eric Anholt2011-06-181-2/+2
| | | | | Accidentally introduced in fc8c4a3a7b92a1134cd3a9312063abba9e14b0fe. Fixes fbo-drawbuffers-maxtargets and friends.
* mesa: Flag _NEW_BUFFERS when unbinding an attachment on glDeleteTextures.Eric Anholt2011-06-181-0/+2
| | | | | | | | | | | The _ColorDrawBuffers[] wouldn't get updated despite us having updated what it depends on (Attachments[]->Renderbuffer). Other callers of _mesa_remove_attachment are already flagging _NEW_BUFFERS for other reasons. The specific bug report that led to this fix (and the fbo-finish-deleted testcase) was fixed by 23b6f9606dc247488835745668b3686218612536, though. Reviewed-by: Brian Paul <[email protected]>
* i965: Don't try to continue space before the start of a VBO.Eric Anholt2011-06-181-0/+2
| | | | | | | | | | | This loop is trying to see if all the buffers to be uploaded happen to be the same increment from the start of the 3DSTATE_VERTEX_BUFFERS currently loaded in the hardware. However, we might be at a smaller offset than the previous set of VERTEX_BUFFERS, so we can't reuse because that packet made the first entry be its starting offset (you can't access outside the given bounds). Fixes piglit ARB_vertex_buffer_object/elements-negative-offset.
* i965: Add missing state flag for vertex elements on current VS program.Eric Anholt2011-06-181-1/+2
| | | | Fixes a missing 3DSTATE_VERTEX_ELEMENTS on topogun.trace.
* r300g: rename AOS -> VARRAYSMarek Olšák2011-06-181-17/+17
|
* r300g: fix handling PREP_* optionsMarek Olšák2011-06-181-31/+32
| | | | | | This should fix rendering >65532 vertices using draw_arrays on r300-r400. NOTE: This is a candidate for the 7.10 branch.
* r600g: fix LIT to handle src==dst properlyVadim Girlin2011-06-181-1/+3
| | | | | | | | | | | | | | Current LIT implementation uses dst components for storing temp results, possibly overwriting still needed values (depends on the swizzles). This patch uses temp reg for one of such cases (found in etqw) and fixes "LIT R.z, R.xyzz". Tested on evergreen. Fixes some etqw-demo rendering glitches when "Lighting" is set to "High" in the settings. Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix RSQ to use abs value of operand on evergreenVadim Girlin2011-06-181-1/+1
| | | | | | | fixes https://bugs.freedesktop.org/show_bug.cgi?id=36917 Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix source box in r600_resource_copy_regionVadim Girlin2011-06-181-2/+11
| | | | | | | | | Source box needs to be adjusted for blitting from compressed formats. fixes https://bugs.freedesktop.org/show_bug.cgi?id=35434 Signed-off-by: Vadim Girlin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* mesa: allow depth texture arraysBrian Paul2011-06-171-1/+5
| | | | | | | The GL_EXT_texture_array spec allows this (Section 3.8.1). Fixes failing piglit fbo-depth-array test. NOTE: This is a candidate for the 7.10 branch.