summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* util: add a simple memcpy path for copying buffers in util_resource_copy_regionMarek Olšák2011-04-211-9/+13
| | | | Reviewed-by: Jakob Bornecrantz <[email protected]>
* r600g: fix userspace fences againAlex Deucher2011-04-201-0/+3
| | | | | | | reinstate b7617346dcff50a66a10c61b95c33682cf629c9e after the rework in 6067a2a67f9a7aab2aee051469bea8af03747a95. Signed-off-by: Alex Deucher <[email protected]>
* r600g: don't flush the dest caches on every drawFredrik Höglund2011-04-207-72/+176
| | | | | | | Keep track of when the caches are dirty, and only flush them when the framebuffer state is set and when the context is flushed. Signed-off-by: Dave Airlie <[email protected]>
* translate: disable clamping of instanced array indexesBrian Paul2011-04-192-9/+16
| | | | | | This fixes piglit's draw-instanced-divisor test for softpipe on both the generic and SSE paths. This is temporary until we have the correct per-array max_index information.
* r600g: add evergreen+ big endian supportAlex Deucher2011-04-194-6/+74
| | | | | | Based on Cédric's r6xx/r7xx patch. Signed-off-by: Alex Deucher <[email protected]>
* r600g: add big endian support for r6xx/r7xxCédric Cano2011-04-198-14/+151
| | | | | Signed-off-by: Cedric Cano <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* r600g: add cb support for snorm formats.Dave Airlie2011-04-192-9/+13
| | | | | | Check for signed type and enable SNORM. Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix warnings with piglit texture-rg test.Dave Airlie2011-04-192-0/+6
| | | | | | Fill in the swaps for the formats to fix warnings. Signed-off-by: Dave Airlie <[email protected]>
* r600g: make loop const always flushDave Airlie2011-04-192-2/+2
| | | | | | | | this needs revisiting, we really don't want to be flushing all 32 of these, but currently we don't flush any of them, and it seems to have caused a regression as reported on irc with doom3 on evergreen. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add dirty tracking to context reg.Dave Airlie2011-04-191-7/+12
| | | | | | just makes the code more consistent. Signed-off-by: Dave Airlie <[email protected]>
* r600g: deinline some large functions.Dave Airlie2011-04-192-76/+83
| | | | | | really at these sort of sizes these are pointless inlines. Signed-off-by: Dave Airlie <[email protected]>
* r600g: consolidate r600/evergreen code for resource emission.Dave Airlie2011-04-193-41/+8
| | | | | | These really didn't have much difference, and totally not inline material. Signed-off-by: Dave Airlie <[email protected]>
* r600g: don't flush caches if we already did so, even for a subset of the flagsBas Nieuwenhuizen2011-04-191-2/+2
| | | | | | | Merging the flushes that are left doesn't seem to give a significant performance improvement Signed-off-by: Dave Airlie <[email protected]>
* r600g: attempt to avoid emitting resources that are the sameDave Airlie2011-04-191-18/+49
| | | | | | This just avoids reemitting resources that haven't changed. Signed-off-by: Dave Airlie <[email protected]>
* r600g: modify block to only emit the first few dirty registers. (v2)Dave Airlie2011-04-194-12/+39
| | | | | | | | | | | This gets me from 2200 to 1978 dwords for a gears frame. This is due to us having some 32-dwords blocks in the SPI, that we only modify the first dwords off. v2: fix dirty reg count from Bas Nieuwenhuizen Signed-off-by: Dave Airlie <[email protected]>
* r600g: track dirty registers better. (v2)Dave Airlie2011-04-194-121/+171
| | | | | | | | | | | | | | | | | | | | | | | | | This is a first step to decreasing the CPU usage, by decreasing how much stuff we pass to the GPU and hence to the kernel CS checker. This adds a check to see if the values we need to write are actually dirty, and avoids writing if they are. However certain register need to always be written so we add a new flag to say which ones should be always written if used. (Note this could probably be done cleaner with a larger refactoring, since I think the CONST_BUFFER_SIZE_PS/VS and CONST_CACHE_PS/VS might be better off as a special state). It also moves the need_bo to be a flags on the register now. With this, a frame of gears goes from emitting 3k dwords to emitting 2k dwords, and I'm sure it could get a lot smaller. v2: fix some evergreen dirty bits. Original patch from: Bas Nieuwenhuizen, I NIHed nearly the same thing before seeing his patch on the list, oops. Reviewed-by: Bas Nieuwenhuizen Signed-off-by: Dave Airlie <[email protected]>
* nvfx: comment-out unused varBrian Paul2011-04-181-1/+1
|
* r300g: remove non-existing include path from SConscriptMarek Olšák2011-04-181-1/+0
|
* r300g/winsys: rename r300->radeon and do a little cleanupMarek Olšák2011-04-1836-593/+586
| | | | | Renaming a few files, types, and functions. Also make the winsys independent of r300g.
* r600g: disable ARB_draw_instancedMarek Olšák2011-04-181-1/+3
| | | | | | | The very presence of this extension breaks things. This should bring us closer to being able to run Unigine Heaven. The extension will be re-enabled once gl_InstanceID is implemented.
* r300g: disable ARB_draw_instanced on SWTCL chipsets.Marek Olšák2011-04-181-1/+1
| | | | This fixes Unigine Heaven.
* r600g: use some loops.Dave Airlie2011-04-172-29/+24
| | | | | | | unrolling loops is for Gentoo users, and I really want to put something else inside these loops later. Signed-off-by: Dave Airlie <[email protected]>
* r600g: consolidate the same piece of cut-n-paste code into a function.Dave Airlie2011-04-173-42/+21
| | | | Signed-off-by: Dave Airlie <[email protected]>
* gallium: include u_format.h for util_format_is_supportedMarcin Slusarz2011-04-176-0/+6
| | | | | | | | | | | | Without it gcc complains: nv50_screen.c: In function ‘nv50_screen_is_format_supported’: nv50_screen.c:48: warning: implicit declaration of function ‘util_format_is_supported’ and handles it wrongly - util_format_is_supported returns boolean, which is typedef'ed to uchar, but function without prototype is assumed to return int. For me nv50_screen_is_format_supported was returning true for float formats without --enable-texture-float...
* nvc0: work around what looks like a code prefetch bugChristoph Bumiller2011-04-171-1/+4
| | | | | | | Sounds very unlikely, but I don't have a better explanation at the moment. The GPU throws page faults at the first page after the code buffer quite frequently on startup, and traces don't show us overflowing.
* nv50,nvc0: add new texture and render target formatsChristoph Bumiller2011-04-172-7/+177
|
* nv50,nvc0: fix normalized RG16 and RGBA32 texture format entriesChristoph Bumiller2011-04-172-6/+6
|
* nvc0: fix viewport rectangle calculationChristoph Bumiller2011-04-171-5/+7
|
* gallium/docs: Improve min_index/max_index description.José Fonseca2011-04-161-8/+17
|
* translate: s/varient/variant/Brian Paul2011-04-151-44/+44
|
* vega: move ureg_destroy(ureg) after last use of ureg varBrian Paul2011-04-151-1/+2
|
* gallium: add and use generic function for querying patented format support (v2)Marek Olšák2011-04-1510-41/+78
| | | | v2: Unsigned floats are allowed regardless of the configure switch.
* r300g: enable A/L/LA/I float render targetsMarek Olšák2011-04-151-14/+14
|
* gallium: add A/L/LA/I floating point formatsLuca Barbieri2011-04-152-0/+17
|
* svga: defined QSZ in terms of SVGA3D_MAX_DRAW_PRIMITIVE_RANGESBrian Paul2011-04-131-1/+3
|
* svga: define SVGA3D_MAX_DRAW_PRIMITIVE_RANGES and update commentsBrian Paul2011-04-131-4/+12
|
* egl/wayland: Update to per-surface frame eventsBenjamin Franzke2011-04-121-3/+3
|
* st/wgl: Prevent spurious framebuffer sizes when the window is minimized.José Fonseca2011-04-121-5/+12
| | | | | | | When the window is minimized GetClientRect will return zeros. Instead of creating a 1x1 framebuffer, simply preserve the current window size, until the window is restored or maximized again.
* st/wgl: Fix debug output format specifiers of stw_framebuffer_get_size().José Fonseca2011-04-121-3/+3
|
* svga: Rebind framebuffer and tss bindings strictly when necessary.José Fonseca2011-04-126-26/+45
| | | | | | | | | | The earlier change to ensure rendertargets and textures are always rebound at every command buffer start had the downside of making successive flushes no longer no-ops, as a command buffer with merely the rebinding commands were being unnecessarily sent to the vGPU. This change only re-emits the bindings when necessary, by keeping track of the need to rebind outside of the dirty state update mechanism.
* u_vbuf_mgr: fixed vbo max_index calculationpepp2011-04-111-1/+1
| | | | Signed-off-by: Marek Olšák <[email protected]>
* r600g: handle PIPE_CAP_FRAGMENT_COLOR_CLAMP_CONTROL in get_paramMarek Olšák2011-04-111-0/+1
|
* nv50,nvc0: silence shader debug outputChristoph Bumiller2011-04-1016-109/+85
|
* nvc0: make the card permit separate colour outputsChristoph Bumiller2011-04-102-14/+4
|
* nv50-nvc0: make use of COLOR_MASK,BLEND_ENABLE_COMMONChristoph Bumiller2011-04-109-31/+32
|
* nvc0: shrink CSOs a littleChristoph Bumiller2011-04-104-29/+25
|
* nv50,nvc0: identify some line rasterization stateChristoph Bumiller2011-04-106-6/+21
| | | | Fixes width of non-smooth (aliased) lines on nvc0.
* nvc0: force perspective correction hint to nicestChristoph Bumiller2011-04-102-0/+7
| | | | | | | | | Fixes issues in e.g. nexuiz (desertfactory) or supertuxkart that look like lighting bugs. They're not visible with the software rasterizers because their notion of linear interpolation seems to be different from that of nv50/nvc0.
* nv50,nvc0: don't insert instructions after the block terminatorChristoph Bumiller2011-04-105-7/+25
|
* Revert "r300g: handle DISCARD_WHOLE_RESOURCE for buffers"Marek Olšák2011-04-081-25/+10
| | | | | | | | | | | | | This reverts commit 437c748bf5072d2bded77a00c74c51cdb8b510e5. The commit is wrong for several reasons. One of them is when we grab a new buffer, we should update all the states it is bound in, including all parallel contexts. I don't think this is even doable. The correct solution would be upload data via a temporary buffer and do resource_copy_region to the original one. https://bugs.freedesktop.org/show_bug.cgi?id=36088