summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gallium: add support for LODQ opcodes.Dave Airlie2014-04-0717-2/+32
| | | | | | | | | This opcode provide support for GL_ARB_texture_query_lod, Signed-off-by: Dave Airlie <[email protected]> [imirkin: rebase, docs update] Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* i965/vec4: Allow constant propagation into dot product.Matt Turner2014-04-051-0/+4
| | | | | | | total instructions in shared programs: 1667088 -> 1667055 (-0.00%) instructions in affected programs: 3362 -> 3329 (-0.98%) Reviewed-by: Eric Anholt <[email protected]>
* glsl: Optimize (x + y cmp 0) into (x cmp -y).Matt Turner2014-04-051-0/+22
| | | | | | | | Cuts a small handful of instructions in Serious Sam 3: instructions in affected programs: 4692 -> 4666 (-0.55%) Reviewed-by: Ian Romanick <[email protected]>
* i965/fs: Split out can_coalesce_vars() function.Matt Turner2014-04-051-44/+47
| | | | Reviewed-by: Anuj Phogat <[email protected]>
* i965/fs: Split out is_coalesce_candidate() function.Matt Turner2014-04-051-14/+23
| | | | Reviewed-by: Anuj Phogat <[email protected]>
* i965/fs: Split fs_visitor::register_coalesce() into its own file.Matt Turner2014-04-053-181/+209
| | | | | | | The function has gotten large, and brw_fs.cpp is the largest source file in the driver. Reviewed-by: Anuj Phogat <[email protected]>
* i965/fs: Mark appropriate fs_inst members as const.Matt Turner2014-04-052-15/+15
| | | | Reviewed-by: Anuj Phogat <[email protected]>
* i965: Mark is_tex() and friends as const.Matt Turner2014-04-052-10/+10
| | | | Reviewed-by: Anuj Phogat <[email protected]>
* i965/fs: Don't propagate saturation modifiers if there are source modifiers.Matt Turner2014-04-051-0/+2
| | | | | | | | | | | | | | | | | Which would lead to translating mad vgrf9:F, vgrf3:F, u0:F, vgrf6:F mov.sat vgrf7:F, -vgrf9:F into mad.sat vgrf9:F, vgrf3:F, u0:F, vgrf6:F mov vgrf7:F, -vgrf9:F Fixes some lighting effects in Dota2. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76749 Reviewed-by: Ian Romanick <[email protected]>
* i965/fs: Don't propagate saturate modifiers into partial writes.Matt Turner2014-04-051-1/+2
| | | | Reviewed-by: Ian Romanick <[email protected]>
* i965/fs: Fix off-by-one in saturate propagation.Matt Turner2014-04-051-1/+1
| | | | | | | | | | | | ip needs to be initialized to start_ip - 1, since the first thing in the main loop is ip++. Otherwise we would incorrectly propagate the saturate from the mov to the mad: mad a, b, c, d mov.sat x, a add y, z, a Reviewed-by: Ian Romanick <[email protected]>
* i965/vec4: Consider sources of non-GRF-dst instructions for dead channels.Matt Turner2014-04-051-12/+8
| | | | | | | | | | | | Previously we'd ignore the sources of instructions with non-GRF destinations when calculating calculating the dead channels. This would lead to us incorrectly removing the first instruction in this sequence: mov vgrf11, ... cmp.ne.f0 null, vgrf11, 1.0 mov vgrf11, ... Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76616
* i965/fs: Name temporary ralloc contexts something other than mem_ctx.Matt Turner2014-04-052-10/+10
| | | | | | | | | Or else poor programmers might mistakenly use the temporary mem_ctx, instead of the fs_visitor's mem_ctx and wonder why their code is crashing. Also remove the parenting. These contexts are local to the optimization passes they're in and are freed at the end.
* i965/fs: Recalculate live intervals in calculate_register_pressure().Matt Turner2014-04-051-0/+1
| | | | | | | | Otherwise calling dump_instructions() after declaring a new fs_reg would segfault when calculate_register_pressure()'s loop over reg walked off the end of the virtual_grf_start[] array that calculate_live_intervals() would have reallocated for you, if it had known there was a new register.
* egl/dri2: use drm macros to construct device nameJonathan Gray2014-04-051-1/+6
| | | | | | | | | | | | | | Don't hardcode /dev/dri/card0 but instead use the drm macros which allows the correct /dev/drm0 device to be opened on OpenBSD. v2: use snprintf and fallback to /dev/dri/card0 v3: check for snprintf truncation Signed-off-by: Jonathan Gray <[email protected]> Cc: "10.1" <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* configure: don't require libudev for gbm or egl drm/waylandJonathan Gray2014-04-051-5/+16
| | | | | | | | | | | | | After the loader changes libudev is no longer required for gbm or the egl drm/wayland platforms. Lets these build/run on OpenBSD. v2: preserve the libudev requirement for Linux as suggested by Emil Velikov. Signed-off-by: Jonathan Gray <[email protected]> Cc: "10.1" <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* egl/dri2: don't require libudev to build drm/wayland platformsJonathan Gray2014-04-051-2/+0
| | | | | | | | | | | | After the loader changes libudev is no longer required to build gbm or the egl drm/wayland platforms. Remove a libudev ifdef which allows the the drm egl driver to be loaded on OpenBSD. Signed-off-by: Jonathan Gray <[email protected]> Cc: "10.1" <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* automake: don't enable -Wl,--no-undefined on OpenBSDJonathan Gray2014-04-0518-20/+20
| | | | | | | | | | | | | | | | OpenBSD does not have DT_NEEDED entries for libc by design, over concerns how the symbols would be referenced after changing the major version of the library. So avoid -no-undefined checks on OpenBSD as they will fail. v2: don't include the -no-undefined libtool option in the variable and change -Wl,--no-undefined references in Automake.inc as well. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76856 Signed-off-by: Jonathan Gray <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* targets/dri: move common libraries to GALLIUM_DRI_LIB_DEPSEmil Velikov2014-04-0510-18/+2
| | | | Signed-off-by: Emil Velikov <[email protected]>
* targets/omx: use GALLIUM_COMMON_LIB_DEPSEmil Velikov2014-04-051-2/+2
| | | | | | | | The targets do not require expat or selinux. Use GALLIUM_COMMON_LIB_DEPS which provides the core requirements for each gallium target. Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* targets/xvmc: use GALLIUM_COMMON_LIB_DEPSEmil Velikov2014-04-053-3/+2
| | | | | | | | The targets do not require expat or selinux. Use GALLIUM_COMMON_LIB_DEPS which provides the core requirements for each gallium target. Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* r600/omx: drop -lstdc++ hackEmil Velikov2014-04-051-2/+1
| | | | | | | | | The build system will use g++ to link the static library due to the dummy.cpp source(s). Thus one does not need the explicit link against stdc++. Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* drivers/nouveau: mention dummy.cpp to use g++ linkerEmil Velikov2014-04-051-1/+1
| | | | | | | | | | The build system does not know that the static library is C++. Mention the cpp file to trigger generation of the proper variable and drop the hacky stdc++ linking. Cc: Ilia Mirkin <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* drivers/nouveau: use GALLIUM_COMMON_LIB_DEPSEmil Velikov2014-04-051-2/+1
| | | | | | Cc: Ilia Mirkin <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* drivers/r300: use GALLIUM_COMMON_LIB_DEPSEmil Velikov2014-04-051-1/+1
| | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76848 Tested-by: Vinson Lee <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* automake: introduce GALLIUM_COMMON_LIB_DEPSEmil Velikov2014-04-057-35/+15
| | | | | | | | | Rather than copying the core four dependencies all over gallium, introduce the above variable to avoid all the duplication. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76848 Tested-by: Vinson Lee <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* automake: move GALLIUM_DRI_LIB_DEPS to Automake.incEmil Velikov2014-04-052-3/+9
| | | | | | | | | | | | | | | With recent commit we started de-duplicating all of the compiler/ linker flags moving their handling inside Automake.inc. This did not take into consideration that the above variable was set at configure time, leading to issues on certain build combinations. Move the variable to where it's used/handled thus cleaning up configure.ac. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76848 Tested-by: Vinson Lee <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* configure.ac: fix the detection of expat with pkg-configJohannes Nixdorf2014-04-051-1/+1
| | | | | | | | | | The pkg-config module was called "EXPAT" instead of "expat" in PKG_CHECK_EXISTS. This seems to have been wrong because the wrong argument was copied from PKG_CHECK_MODULES. Cc: "10.0" "10.1" <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* megadriver_stub.c: don't use _GNU_SOURCE to gate the compat codeJonathan Gray2014-04-051-2/+2
| | | | | | | | | _GNU_SOURCE is only set/required for linux*|*-gnu*|gnu*) and as the functionality is available on other systems check for RTLD_DEFAULT instead. Signed-off-by: Jonathan Gray <[email protected]> Cc: "10.1" <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* loader: don't limit the non-udev path to only androidJonathan Gray2014-04-051-1/+1
| | | | | | | | | | | | | Platforms that lack libudev (OpenBSD and possibly others) need this change in order to load the correct dri driver. Under linux we unconditionally require libudev, thus this code will never get build. v2: Add commit message (Emil Velikov) Signed-off-by: Jonathan Gray <[email protected]> Cc: "10.1" <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* loader: use 0 instead of FALSE which isn't definedJonathan Gray2014-04-051-2/+2
| | | | | | Signed-off-by: Jonathan Gray <[email protected]> Cc: "10.1" <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* clover: Document that the *obj*() helpers already take care of object ↵Francisco Jerez2014-04-051-4/+6
| | | | validation.
* i965: Mark SNB GT1 as a GT1.Matt Turner2014-04-041-1/+1
| | | | | | | brw->gt only seems to be used on gen >= 7, so this shouldn't have any effect. Reviewed-by: Ian Romanick <[email protected]>
* gallium/u_blitter: implement scaled blitting in the Z directionMarek Olšák2014-04-041-9/+31
| | | | So that pipe->blit can be used for 3D mipmap generation.
* gallium/u_blitter: don't adjust cubemap coordinates by a small numberMarek Olšák2014-04-041-1/+1
| | | | | It may cause issues with mipmap generation. I think it was used to make some piglit tests pass on r300g.
* Revert "radeon: just don't map VRAM buffers at all"Leo Liu2014-04-041-2/+2
| | | | | | | | | This reverts commit 96e8b916a7a39a9ba58e92d1ad77b5501de63ac7. In the case of VCE encoding with raw YUV file, CPU load directly to VRAM is faster than combination of CPU writing to GTT and then blit to VRAM with GPU. Reviewed-by: Christian König <[email protected]>
* radeon/vce: cleanup cpb handlingLeo Liu2014-04-043-11/+38
| | | | | | | v2: fix whitespace errors, minor coding style changes Signed-off-by: Leo Liu <[email protected]> Signed-off-by: Christian König <[email protected]>
* st/mesa: improve sampler view handlingChristian König2014-04-048-56/+140
| | | | | | | | | | | Keep a dynamically increasing array of all the views created for a texture instead of just the last one. v2: add comments, fix array size calculation, release only the first sampler view found Signed-off-by: Christian König <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* st/xa: Fix advertized version number and try to avoid future discrepanciesThomas Hellstrom2014-04-042-3/+4
| | | | | | | | | | The xa version number had to be set in two places. In configure.ac and in xa_tracker.h. Furthermore, xa_tracker.h is an installed header so we can't use mesa internal defines. So therefore, at configure time, modify the xa_tracker.h header to use the version given by configure.ac Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Rob Clark <[email protected]>
* glapi: Fix make checkIan Romanick2014-04-031-0/+1
| | | | | | | | | | | | /me puts a paper bag on his head and sits in the corner. This was supposed to be included in 5a68f731, which added glPointSizePointerOES back to the list of functions exposed by libGLESv1_CM. It looks like it was an uncommitted change in my tree when I sent the patch out. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* llvmpipe: remove no-op checks in sampler, sampler_view functionsBrian Paul2014-04-031-14/+0
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* softpipe: remove no-op checks in sampler, sampler_view functionsBrian Paul2014-04-031-14/+0
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* svga: remove no-op checks in sampler, sampler_view functionsBrian Paul2014-04-031-15/+0
| | | | | | | | We are checking for no-ops in the CSO module for both of these items so there's no reason to do it in the driver. Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* cso: check for no sampler view changes in cso_set_sampler_views()Brian Paul2014-04-031-3/+8
| | | | | | | | | As we do for sampler states in single_sampler_done() and many other CSO functions. Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* docs: Add note about updating tests to dev infoTimothy Arceri2014-04-041-0/+5
| | | | Signed-off-by: Timothy Arceri <[email protected]>
* st/wgl: Remove wgl*Gallium*MESA().José Fonseca2014-04-034-103/+0
| | | | | | | These were only used by the Python state tracker, which was removed, hence they have no practical use. Reviewed-by: Brian Paul <[email protected]>
* glapi: Fix scons buildIan Romanick2014-04-031-1/+1
| | | | | | | | | Put the -c in the correct place (and match Makefile.am). Signed-off-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76960 Tested-by: Vinson Lee <[email protected]> Signed-off-by: José Fonseca <[email protected]>
* glx: Do not advertise buffer_age on dri2Adel Gadllah2014-04-021-1/+1
| | | | | | | | | | | | | Previously GLX_EXT_buffer_age has always been advertised as supported because both client_glx_support and client_glx_only where set. So it did not matter that direct_support is only set when running dri3 and we ended up always advertising it. Fix that by not setting client_glx_only for buffer_age in known_glx_extensions. Signed-off-by: Adel Gadllah <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* cso: fix sampler view count in cso_set_sampler_views()Brian Paul2014-04-021-3/+4
| | | | | | | | | | | | | | We want to call pipe->set_sampler_views() with count being the maximum of the old number of sampler views and the new number. This makes sure we null-out any old sampler views. We already do the same thing for sampler states in single_sampler_done(). Fixes some assertions seen in the VMware driver with XA tracker. Cc: "10.0" "10.1" <[email protected]> Reviewed-by: Thomas Hellstrom <[email protected]> Tested-by: Thomas Hellstrom <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* glapi: Add static dispatch for glPointSizePointerOESIan Romanick2014-04-021-1/+1
| | | | | | | | | | | The OpenGL ES 1.1 conformance tests expect this function to be statically available form libGLESv1_CM.so. The comment "required for es1.1" in the XML file should have been a clue. Signed-off-by: Ian Romanick <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76926 Reviewed-by: Matt Turner <[email protected]> Tested-by: Lu Hua <[email protected]>