summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* gallium/nouveau: fix printf warningsMarek Olšák2011-04-272-2/+2
|
* svga: fix warning: ‘uc.ui’ may be used uninitialized in this functionMarek Olšák2011-04-271-1/+1
| | | | | This is safe because it's initialized if buffers & PIPE_CLEAR_COLOR and probably doesn't have any effect otherwise.
* r600g: Unify comment style somewhat.Henri Verbeet2011-04-257-48/+53
| | | | Signed-off-by: Henri Verbeet <[email protected]>
* r600g: Cleanup the big endian support a bit.Henri Verbeet2011-04-2511-162/+166
| | | | | | | In particular, make sure the code is at least compiled on little endian systems. Signed-off-by: Henri Verbeet <[email protected]>
* r600g: Use EG constants in EG r600_colorformat_endian_swap().Henri Verbeet2011-04-251-21/+21
| | | | | | This would actually fail to compile when PIPE_ARCH_BIG_ENDIAN is defined. Signed-off-by: Henri Verbeet <[email protected]>
* r600g: Remove r600_helper.c from SConscript.Vinson Lee2011-04-241-1/+0
| | | | This is a follow-up to commit d737857ed2ff4313fd6046dcd80018c6308a53c5.
* r600g: trivially implement LATC/3DCMarek Olšák2011-04-251-0/+4
| | | | Passes fbo-generatemipmap-formats.
* r600g: drop r600_helper.c no point in itDave Airlie2011-04-254-73/+39
| | | | | | move the one function into state common Signed-off-by: Dave Airlie <[email protected]>
* r600g: enable EXT_draw_buffers2Dave Airlie2011-04-251-5/+1
| | | | | | | Doesn't cause any piglit regression and passes the fbo-draw-buffers-blend test. Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix glean clipflat test.Dave Airlie2011-04-242-3/+8
| | | | | | | | the provoking vertex doesn't apply to quad/strip/polygon. This fixes clipFlat on r600g. Signed-off-by: Dave Airlie <[email protected]>
* r300g: reorder capsMarek Olšák2011-04-241-13/+11
|
* r300g: fix exposing caps on r300-r400Marek Olšák2011-04-241-2/+2
| | | | Broken with 72239d16cd08113e994ea3508f91193c682b0930.
* r600g: fix glsl-fs-abs-negDave Airlie2011-04-241-0/+2
| | | | | | the hw does neg after abs, so don't neg the source in the ABS instruction case. Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix bank swizzle calcs for scalar only operations.Dave Airlie2011-04-241-15/+25
| | | | | | | | | | | | In the initial code if we had nothing in the vector slots r would never get reset to 0, so we'd fail to compile shaders, after the previous commit this would happen for the LIT tests. When I fixed that we did a lot of unnecessary loops through all the vector states when we had no vector slots filled. So this patch optimises thing for the scalar only state. This fixes the 3 LIT piglit tests on r600g. Signed-off-by: Dave Airlie <[email protected]>
* r600g: PV/PS have cycle restrictions in scalar operationsDave Airlie2011-04-241-2/+6
| | | | | | | | | | In the R600 ISA document: Section 4.7.5 Cycle restrictions for the ALU.trans states that PV/PS have cycle restrictions wrt constants. This is part of a fix for the LIT tests Signed-off-by: Dave Airlie <[email protected]>
* r300g: do not advertise color_buffer_float on r300 and r400Marek Olšák2011-04-221-1/+1
| | | | It seems they can't do unclamped vertex colors. Tested on RV350.
* r300g: disallow A16F,L16F,LA16F,I16F texture formats on DRM<2.8.0Marek Olšák2011-04-221-4/+9
|
* galahad,util: warn on resource target mismatch in copy_regionMarek Olšák2011-04-211-0/+6
| | | | Reviewed-by: Jakob Bornecrantz <[email protected]>
* gallium: add fallback for copying buffers to all driversMarek Olšák2011-04-218-0/+70
| | | | | | Just to keep drivers working. Reviewed-by: Jakob Bornecrantz <[email protected]>
* r600g: don't flush the dest caches on every drawFredrik Höglund2011-04-205-5/+35
| | | | | | | 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]>
* 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: modify block to only emit the first few dirty registers. (v2)Dave Airlie2011-04-191-1/+2
| | | | | | | | | | | 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-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 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-1822-439/+117
| | | | | 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.
* 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: add and use generic function for querying patented format support (v2)Marek Olšák2011-04-158-41/+19
| | | | 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
|
* 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
|
* 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.
* 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