summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* r600g: reduce memory usage from range/block hash table.Dave Airlie2011-05-134-28/+39
| | | | | | | | | | | | | | | | | | This table covered a large range unnecessarily, reduce the address range covered, use the fact that the bottom two bits aren't significant, and remove unused fields from the range struct. It also drops the hash_size/shift in context in favour of a define, which should make doing the math a bit less CPU intensive. valgrind glxinfo Before: ==320== in use at exit: 419,754 bytes in 706 blocks ==320== total heap usage: 3,691 allocs, 2,985 frees, 7,272,467 bytes allocated After: ==967== in use at exit: 419,754 bytes in 706 blocks ==967== total heap usage: 3,552 allocs, 2,846 frees, 3,550,131 bytes allocated Signed-off-by: Dave Airlie <[email protected]>
* r600g: delay mapping until first map request. (v2)Dave Airlie2011-05-132-6/+4
| | | | | | | | | | | | | | Currently r600g always maps every bo, this is quite pointless as it wastes VM and on 32-bit with wine running VM space is quite useful. So with this patch we don't create the mappings until first use, without tiling enabled this probably won't make a major difference on its own, but with tiled staged uploads it should avoid keeping maps for most of the textures unnecessarily. v2: add bo data ptr check Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix flushes on rs780/rs880Alex Deucher2011-05-111-1/+3
| | | | | | | | | They need the same hack as rv670. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=35312 Signed-off-by: Alex Deucher <[email protected]>
* svga/drm: Implement svga_winsys_screen::get_hw_version.José Fonseca2011-05-101-0/+14
|
* st/wgl: Remove buggy assertion.José Fonseca2011-05-101-2/+0
| | | | | The assertion is wrong, now that state tracker can cope with a window with zero width or height.
* nv50: fix mistake in pipe caps for pre-NVA0 cardsMaxim Levitsky2011-05-101-0/+1
| | | | Introduced by 531b12af35a832bcd8928a4919d76f8e9405cde0.
* nv50/nvc0: make transfers aware of PIPE_TRANSFER_MAP_DIRECTLYMarcin Slusarz2011-05-092-0/+6
| | | | | | | | | | If state tracker asked us to map resource directly and we can't do it (because of tiling), return NULL instead of doing full transfer - state tracker should handle it and fallback to some other method or repeat transfer without PIPE_TRANSFER_MAP_DIRECTLY. It greatly improves performance of xorg state tracker on nv50+, because its fallback (DFS/UTS) is much faster than full transfer.
* r300g: unreference a zbuffer surface after decompressionMarek Olšák2011-05-091-0/+2
|
* r300g: remove redundant state variable hyperz_lockedMarek Olšák2011-05-095-14/+12
|
* r600g: anisotropic filtering support for evergreen hwJerome Glisse2011-05-095-23/+31
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: add support for anisotropic filteringCarl-Philip Haensch2011-05-092-3/+26
|
* gallium: Factor out unknown endianness detection.Michel Dänzer2011-05-091-2/+4
|
* Don't allow compilation if endianness isn't knownMatt Turner2011-05-091-1/+1
| | | | | | | | PIPE_ARCH_UNKNOWN_ENDIAN is used no where else. All #else branches of ifdef PIPE_ARCH_LITTLE assume big-endian. Not #error'ing out here only serves to allow bad things to happen. Signed-off-by: Matt Turner <[email protected]>
* p_config.h: Rely on glibc endianness definitions when availableMatt Turner2011-05-091-0/+12
| | | | | | Suggested by Julien Cristau. Signed-off-by: Matt Turner <[email protected]>
* st/xorg: add some debugging messages to xorg_exa.cMarcin Slusarz2011-05-091-1/+15
|
* st/xorg: remove DEBUG_PRINT macro and add exa_debug_printfMarcin Slusarz2011-05-091-30/+29
| | | | Localizes preprocessor usage to one place.
* st/xorg: fix compilation of xorg_exa.c with DEBUG_PRINT set to 1Marcin Slusarz2011-05-091-7/+5
|
* cell: fix unbalanced parenthesisNicolas Kaiser2011-05-081-1/+1
| | | | | Signed-off-by: Nicolas Kaiser <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* r300g: handle seamless_cube_map capsMarek Olšák2011-05-071-0/+2
|
* nv50,nvc0: activate seamless cube map filteringChristoph Bumiller2011-05-063-1/+44
|
* r600g: implement seamless_cube_map for evergreenMarek Olšák2011-05-063-0/+15
| | | | The r600/r700 support will follow soon.
* gallium: implement seamless cubemap extensionsMarek Olšák2011-05-063-0/+7
| | | | Reviewed-by: Brian Paul <[email protected]>
* r600g: avoid recursion in rv670 flush workaroundAlex Deucher2011-05-061-2/+7
| | | | | | | Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=36914 Signed-off-by: Alex Deucher <[email protected]>
* gallium/xorg st/nv50: add PIPE_BIND_CURSORMarcin Slusarz2011-05-063-2/+12
| | | | | We need to distinguish surfaces for mouse cursors from scanouts, because nv50 hardware display engine ignores tiling flags.
* Add pci id for FirePro 2270Kostas Georgiou2011-05-061-0/+1
| | | | Signed-off-by: Kostas Georgiou <[email protected]>
* r600g: add back SOURCE_FORMAT setting that get accidently droppedAlex Deucher2011-05-051-0/+1
| | | | | | Spotted by Henri Verbeet Signed-off-by: Alex Deucher <[email protected]>
* r600g: fix up the rules for enabling SOURCE_FORMAT(EXPORT_NORM)Alex Deucher2011-05-052-10/+41
| | | | | | | | | | | | | | | | | | Setting SOURCE_FORMAT to EXPORT_NORM is an optimization. Leaving SOURCE_FORMAT at 0 will work in all cases, but is less efficient. The conditions for the setting the EXPORT_NORM optimization are as follows: R600/RV6xx: BLEND_CLAMP is enabled BLEND_FLOAT32 is disabled 11-bit or smaller UNORM/SNORM/SRGB R7xx/evergreen: 11-bit or smaller UNORM/SNORM/SRGB 16-bit or smaller FLOAT Signed-off-by: Alex Deucher <[email protected]>
* r600g: further r6xx cache flush fixesAlex Deucher2011-05-051-12/+10
| | | | | | | Don't emit sync packets for additional CBs or DB. Spotted by Fredrik Höglund. Signed-off-by: Alex Deucher <[email protected]>
* r600g: add rv670 flushing workaround.Dave Airlie2011-05-061-0/+4
| | | | | | | Hopefully we can find out the proper fix for this, but for now this makes the fbo mipmap tests pass on my rv670 (x2 card). Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix cache flushes on r6xxAlex Deucher2011-05-062-9/+28
| | | | | | | | | | | | | | | r6xx asics have some problems with the surface sync logic for the CB and DB. It's recommended to use the event write interface for flushing the DB/CB caches rather than the sync packets. A single event write flush flushes all dst caches, so we only need one for all CBs and DB. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=35312 Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: Match alpha ref precision to color format precision.Henri Verbeet2011-05-054-21/+64
| | | | | | This fixes piglit fbo-alphatest-formats on Evergreen. Signed-off-by: Henri Verbeet <[email protected]>
* r600g: do RV6xx base updates inline with state updates.Dave Airlie2011-05-052-54/+22
| | | | | | | | | This seems more in line with what the documentation suggests we should be doing. It doesn't fix the rv635 regression, though I thought it might, so it means I've no idea whats actually going wrong there. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* st/wgl: Allow to create pbuffers bigger than the desktop.José Fonseca2011-05-041-1/+25
| | | | | | | | | | We use a hidden window for pbuffer contexts, but Windows limits window sizes to the desktop size by default. This means that creating a big pbuffer on a small resolution single monitor would truncate the pbuffer size to the desktop. This change overrides the windows maximum size, allow to create windows arbitrarily large.
* st/wgl: Cope with zero width/height windows.José Fonseca2011-05-041-12/+38
| | | | While ensuring the framebuffer area is never zero.
* i915g: add const qualifier to silence warningBrian Paul2011-05-031-1/+1
|
* r600g: add some new pci idsAlex Deucher2011-05-031-0/+4
| | | | Signed-off-by: Alex Deucher <[email protected]>
* st/xorg: flush after loading the cursorMarcin Slusarz2011-05-031-7/+15
| | | | | We need cursor data to land in destination buffer before drmModeSetCursor. It fixes "cursor lag" on nv50.
* gallium/draw: Fix enum type taken by draw_get_shader_param().Michel Dänzer2011-05-031-1/+1
| | | | | | | | | | Pointed out by clang: src/gallium/auxiliary/draw/draw_context.h:251:41: warning: implicit conversion from enumeration type 'enum pipe_cap' to different enumeration type 'enum pipe_shader_cap' [-Wconversion] return tgsi_exec_get_shader_param(param); ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~
* r600g: reorder capsMarek Olšák2011-05-031-17/+10
|
* r600g: set correct PIPE_CAP_MAX_COMBINED_SAMPLERSMarek Olšák2011-05-031-3/+2
|
* nv50,nvc0: advertise GL_FIXED vertex buffers as supportedChristoph Bumiller2011-05-032-0/+36
| | | | | We'll handle them like f64 vertex buffers, by falling back to copying vertex data to the command buffer through translate.
* gallium: reorder fields of pipe_rasterizer_state to pack it more tightlyMarek Olšák2011-05-021-6/+8
| | | | | | | | sizeof(struct pipe_rasterizer_state): Before: 32 bytes After: 28 bytes Reviewed-by: Brian Paul <[email protected]>
* r600g: document some new evergreen formatsMarek Olšák2011-05-021-0/+3
|
* r600g: remove some more FIXME commentsMarek Olšák2011-05-022-2/+0
|
* st/xorg: Fix two more instances of typo 'accle'.Michel Dänzer2011-05-021-2/+2
|
* st/xorg: fix typosMarcin Slusarz2011-05-022-4/+4
|
* targets/xorg-nouveau: load nouveau_dri.so instead of i915_dri.soMarcin Slusarz2011-05-021-1/+1
|
* targets/xorg-nouveau: add libnvc0.a to nouveau libsMarcin Slusarz2011-05-021-0/+1
|
* r600g: remove some FIXME commentsMarek Olšák2011-05-022-2/+0
| | | | All texture LOD tests pass.
* Revert "r600g: truncate point sampled texture coordinates"Marek Olšák2011-05-022-14/+1
| | | | | | | This reverts commit 1dc204d145dc8c0b19473a7814c201a8954b6274. MC_COORD_TRUNCATE is for MPEG and produces quite an interesting behavior on regular textures. Anyway that commit broke filtering in demos/cubemap.