summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300
Commit message (Collapse)AuthorAgeFilesLines
* r300: Remove PIPE_FORMAT_A8B8G8R8_SNORM.José Fonseca2010-03-011-2/+0
| | | | PIPE_FORMAT_R8G8B8A8_SNORM already listed.
* r300: Use PIPE_FORMAT_R8G8B8A8_UNORM_REV where appropriate.José Fonseca2010-03-011-2/+2
|
* r300: Don't implement PIPE_FORMAT_R8G8B8X8_SNORM.José Fonseca2010-03-011-2/+0
| | | | | | This format is not actually used by any state tracker. Probably the reverse notation was mean, which would make it identical to PIPE_FORMAT_X8B8G8R8_SNORM.
* r300g: atomize texture and sampler statesMarek Olšák2010-02-289-135/+153
|
* r300g: decouple vertex stream setup (PSC) and VS output mapping (VAP_OUT)Marek Olšák2010-02-287-66/+101
| | | | | | | | | | | Formerly known as vertex_format_state. These two are completely unrelated when using HWTCL and decoupling them makes the design less SWTCL-centric. When bypass_vs_clip_and_viewport gets removed, the PSC setup will no longer be a derived state. This change shouldn't make unbreaking SWTCL harder.
* r300g: put validating buffers after flushingMarek Olšák2010-02-283-53/+37
| | | | Also cleaning up the nasty validation process.
* r300g: use the atom size directly during emissionMarek Olšák2010-02-284-30/+31
|
* r300g: atomize invalidation of texture cachesMarek Olšák2010-02-285-8/+11
|
* r300g: atomize PVS flushMarek Olšák2010-02-285-27/+29
| | | | The first non-state atom. It's better and cleaner to have it.
* r300g: add size parameter to the atom emit functionsMarek Olšák2010-02-285-28/+47
| | | | | Maintaining a closer relationship between the atom size and what's passed in BEGIN_CS.
* r300g: move the emission of GA_POINT_MINMAX into emit_fb_stateMarek Olšák2010-02-273-23/+7
| | | | | The only practical limits are the ones derived from the currently-set framebuffer state.
* r300g: put the emission of R300_US_OUT_FMT_UNUSED backMarek Olšák2010-02-272-2/+7
| | | | It wasn't such a good idea to remove it. :/
* r300g: mark rasterizer_state as dirty only when it's not NULLMarek Olšák2010-02-271-1/+1
|
* r300g: always emit the correct max vertex index to avoid DRM errorsMarek Olšák2010-02-273-2/+13
| | | | Fixing bizarre reports that a vertex buffer is not large enough.
* r300g: remove pointless "while"Marek Olšák2010-02-271-1/+1
|
* r300g: Atomize vertex shader.Corbin Simpson2010-02-248-60/+58
|
* r300g: Move CALLOCs to correct place.Corbin Simpson2010-02-241-8/+7
|
* r300g: prevent CS overflow when emitting the draw packetsMarek Olšák2010-02-243-18/+55
| | | | Signed-off-by: Corbin Simpson <[email protected]>
* r300g: remove invalid .PHONY lineBrian Paul2010-02-241-2/+0
| | | | | The $(COMPILER_ARCHIVE) target is not a phony target. This solves the unconditional re-making of libr300.a
* r300: Update for UTIL_FORMAT_LAYOUT_xxx changes.José Fonseca2010-02-242-16/+4
|
* r300g: fix texture swizzling for the SRGB formatsMarek Olšák2010-02-241-4/+20
|
* r300g: fix draw_elements for "start" != 0Marek Olšák2010-02-231-7/+2
| | | | Reported-by: Andre Maasikas <[email protected]>
* Revert "r300g: rebuild winsys/pipe buffer handling and add buffer map"Dave Airlie2010-02-2214-600/+101
| | | | | | | | | | This reverts commit fff5be8e7b4557c221f2425dcafc2e7cbbba76ba. Probably went too soon with this, dileX reported OA not working for him it works here fine, but the optimisations I wanted aren't working properly yet so I'll fix that now. Signed-off-by: Dave Airlie <[email protected]>
* r300g: rebuild winsys/pipe buffer handling and add buffer mapDave Airlie2010-02-2214-101/+600
| | | | | | | | | | | | | This creates a cleaner winsys and drop the simple screen stuff. It makes r300g use pb_bufmgr structs and adds usage of the cached bufmgr for vertex/index buffers. It also avoids mapping too often. I'm not 100% sure this is perfect but it won't find its own bugs. Signed-off-by: Dave Airlie <[email protected]>
* r3OOg: support rendering of more than 65535 vertices per draw call (almost)Marek Olšák2010-02-222-29/+83
| | | | | | | | | | The path for VAP_ALT_NUM_VERTICES is also in place (and tested) but not enabled by default due to the missing support of this reg in the upstream kernel. Also, a non-zero BUFFER_BASE in the INDX_BUFFER packet3 hangs the machine. Am I missing something? Because of this, only draw_arrays can render more than 65535 vertices without the use of VAP_ALT_NUM_VERTICES.
* r300g: Remove unnecessary header.Vinson Lee2010-02-211-1/+0
|
* r300g: precompute framebuffer register valuesMarek Olšák2010-02-216-220/+250
|
* r300g: add all missing colorbuffer formatsMarek Olšák2010-02-212-83/+165
|
* r300g: make r300_translate_texformat privateMarek Olšák2010-02-213-235/+246
| | | | | | Unlikely to increase performance from inlining. And partially expose it through r300_is_sampler_format_supported.
* r300g: re-enable SRGB formatsMarek Olšák2010-02-211-1/+2
| | | | Ouch.
* r300g: fix rendering into the L8 and A8 texture formatsMarek Olšák2010-02-191-2/+2
| | | | RB3D_COLORPITCH.COLORFORMAT.I8 stores the C2 component.
* Revert "r300g: remove L8_UNORM from colorbuffer formats"Corbin Simpson2010-02-191-0/+1
| | | | | | | | This reverts commit fc427d23439a2702068209957f08990ea29fe21b. At least xorg uses this, and just because something is not used in OpenGL is *never* a valid reason to remove functionality from Gallium. If something lacks a test, go add a test, don't remove features.
* r300g: remove L8_UNORM from colorbuffer formatsMarek Olšák2010-02-191-1/+0
| | | | Not renderable in OpenGL anyway.
* r300g: add support for all missing non-FP sampler formatsMarek Olšák2010-02-183-124/+234
| | | | | The idea is to directly parse the format description in r300_translate_texformat and return ~0 if the format is unsupported.
* r300g: fix the size of constant buffersMarek Olšák2010-02-153-2/+34
| | | | 4 more piglit tests pass, sweet.
* r300: add half_float_vertex supportMarek Olšák2010-02-142-0/+11
|
* r300g: set the correct tiling flags for renderbuffersMarek Olšák2010-02-141-0/+68
| | | | | | | | | | MACRO_SWITCH is applied to samplers but not renderbuffers. This commit fixes incorrect rendering to large and small mipmaps where the large ones are macrotiled and the small ones are not and both are emitted in the same CS. Note that this is still disabled by default (rework of texture transfers is next).
* r300g: add macrotiling support to texture setupMarek Olšák2010-02-143-10/+45
|
* r300g: accelerate blitting for all formats by faking the texture formatMarek Olšák2010-02-143-7/+85
|
* r300g: fix texture formats: A4R4G4B4_UNORM, A1R5G5B5_UNORM, R5G6B5_UNORMMarek Olšák2010-02-143-5/+17
|
* r300g: Use util_format_name().José Fonseca2010-02-144-12/+13
|
* r300g: fix scons buildMarek Olšák2010-02-142-3/+3
|
* r300g: do not invalidate texture caches when only sampler state is changedMarek Olšák2010-02-131-2/+3
|
* r300g: cleanup the emission of RS block stateMarek Olšák2010-02-132-9/+13
| | | | Emit as few regs as possible.
* r300g: cleanup the emission of framebuffer stateMarek Olšák2010-02-132-11/+3
| | | | Some emits are not needed anymore.
* r300g: disable independent blend enablesMarek Olšák2010-02-132-7/+2
| | | | Not supported by r300.
* r300g: emit INDEPENDENT_COLORFORMAT_ENABLE only on r5xxMarek Olšák2010-02-131-2/+1
|
* Merge branch 'gallium-dynamicstencilref'Roland Scheidegger2010-02-125-10/+24
|\
| * gallium: make max_anisotropy a unsigned bitfield memberRoland Scheidegger2010-02-122-6/+6
| | | | | | | | | | | | | | saves us a dword in sampler state, hw can't do non-integer aniso degree anyway. To allow aniso 1x (which seems of dubious value but some hardware (radeons) have such a mode, and even d3d allows specifiying it) redefine anisotropic filtering as disabled only if max_anistropy is 0.
| * gallium: make u_blitter code save/restore stencil ref valuesRoland Scheidegger2010-02-111-0/+1
| |