summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* i915g: enable X-tiling for s3tc texturesDaniel Vetter2011-04-301-2/+1
| | | | | Tested-by: Christopher Egert <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
* r300/compiler: Rewrite register allocatorTom Stellard2011-04-301-0/+1
| | | | | | | The new allocator uses ra and does swizzle packing. Also, a data structure (struct rc_variable) and associated functions have been added for generating UD and DU chains.
* r600g: print opcodes names instead of numbersMarek Olšák2011-04-291-1/+3
|
* r600g: implement EXT_packed_floatMarek Olšák2011-04-293-0/+10
|
* r600g: trivially implement EXT_texture_shared_exponentMarek Olšák2011-04-291-0/+5
| | | | Nothing else needed.
* i915g: Enable S3TC texture supportChristopher Egert2011-04-292-6/+11
| | | | | | | Reviewed-by: Jakob Bornecrantz <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Signed-off-by: Christopher Egert <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* llvmpipe: move active_query assignmentBrian Paul2011-04-281-2/+2
| | | | Fixes piglit regression.
* llvmpipe: move active_query assignment in lp_setup_begin_query()Brian Paul2011-04-281-2/+2
| | | | | | | | | | If we run out of bin memory and do an early return from lp_setup_begin_query() we'd omit setting the setup->active_query pointer. Then, when lp_setup_end_query() was later called, the assertion for setup->active_query == pq would fail. Moving the assigment in lp_setup_begin_query() avoids that. Reviewed-by: Jose Fonseca <[email protected]>
* svga: emit user-defined clip plane stateBrian Paul2011-04-273-11/+26
| | | | User-defined clip planes were a swtnl fallback before.
* 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.