summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300
AgeCommit message (Collapse)Author
2010-03-01r300: Use PIPE_FORMAT_R8G8B8A8_UNORM_REV where appropriate.José Fonseca
2010-03-01r300: Don't implement PIPE_FORMAT_R8G8B8X8_SNORM.José Fonseca
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.
2010-02-28r300g: atomize texture and sampler statesMarek Olšák
2010-02-28r300g: decouple vertex stream setup (PSC) and VS output mapping (VAP_OUT)Marek Olšák
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.
2010-02-28r300g: put validating buffers after flushingMarek Olšák
Also cleaning up the nasty validation process.
2010-02-28r300g: use the atom size directly during emissionMarek Olšák
2010-02-28r300g: atomize invalidation of texture cachesMarek Olšák
2010-02-28r300g: atomize PVS flushMarek Olšák
The first non-state atom. It's better and cleaner to have it.
2010-02-28r300g: add size parameter to the atom emit functionsMarek Olšák
Maintaining a closer relationship between the atom size and what's passed in BEGIN_CS.
2010-02-27r300g: move the emission of GA_POINT_MINMAX into emit_fb_stateMarek Olšák
The only practical limits are the ones derived from the currently-set framebuffer state.
2010-02-27r300g: put the emission of R300_US_OUT_FMT_UNUSED backMarek Olšák
It wasn't such a good idea to remove it. :/
2010-02-27r300g: mark rasterizer_state as dirty only when it's not NULLMarek Olšák
2010-02-27r300g: always emit the correct max vertex index to avoid DRM errorsMarek Olšák
Fixing bizarre reports that a vertex buffer is not large enough.
2010-02-27r300g: remove pointless "while"Marek Olšák
2010-02-24r300g: Atomize vertex shader.Corbin Simpson
2010-02-24r300g: Move CALLOCs to correct place.Corbin Simpson
2010-02-24r300g: prevent CS overflow when emitting the draw packetsMarek Olšák
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2010-02-24r300g: remove invalid .PHONY lineBrian Paul
The $(COMPILER_ARCHIVE) target is not a phony target. This solves the unconditional re-making of libr300.a
2010-02-24r300: Update for UTIL_FORMAT_LAYOUT_xxx changes.José Fonseca
2010-02-24r300g: fix texture swizzling for the SRGB formatsMarek Olšák
2010-02-23r300g: fix draw_elements for "start" != 0Marek Olšák
Reported-by: Andre Maasikas <amaasikas@gmail.com>
2010-02-22Revert "r300g: rebuild winsys/pipe buffer handling and add buffer map"Dave Airlie
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 <airlied@redhat.com>
2010-02-22r300g: rebuild winsys/pipe buffer handling and add buffer mapDave Airlie
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 <airlied@redhat.com>
2010-02-22r3OOg: support rendering of more than 65535 vertices per draw call (almost)Marek Olšák
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.
2010-02-21r300g: Remove unnecessary header.Vinson Lee
2010-02-21r300g: precompute framebuffer register valuesMarek Olšák
2010-02-21r300g: add all missing colorbuffer formatsMarek Olšák
2010-02-21r300g: make r300_translate_texformat privateMarek Olšák
Unlikely to increase performance from inlining. And partially expose it through r300_is_sampler_format_supported.
2010-02-21r300g: re-enable SRGB formatsMarek Olšák
Ouch.
2010-02-19r300g: fix rendering into the L8 and A8 texture formatsMarek Olšák
RB3D_COLORPITCH.COLORFORMAT.I8 stores the C2 component.
2010-02-19Revert "r300g: remove L8_UNORM from colorbuffer formats"Corbin Simpson
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.
2010-02-19r300g: remove L8_UNORM from colorbuffer formatsMarek Olšák
Not renderable in OpenGL anyway.
2010-02-18r300g: add support for all missing non-FP sampler formatsMarek Olšák
The idea is to directly parse the format description in r300_translate_texformat and return ~0 if the format is unsupported.
2010-02-15r300g: fix the size of constant buffersMarek Olšák
4 more piglit tests pass, sweet.
2010-02-14r300: add half_float_vertex supportMarek Olšák
2010-02-14r300g: set the correct tiling flags for renderbuffersMarek Olšák
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).
2010-02-14r300g: add macrotiling support to texture setupMarek Olšák
2010-02-14r300g: accelerate blitting for all formats by faking the texture formatMarek Olšák
2010-02-14r300g: fix texture formats: A4R4G4B4_UNORM, A1R5G5B5_UNORM, R5G6B5_UNORMMarek Olšák
2010-02-14r300g: Use util_format_name().José Fonseca
2010-02-14r300g: fix scons buildMarek Olšák
2010-02-13r300g: do not invalidate texture caches when only sampler state is changedMarek Olšák
2010-02-13r300g: cleanup the emission of RS block stateMarek Olšák
Emit as few regs as possible.
2010-02-13r300g: cleanup the emission of framebuffer stateMarek Olšák
Some emits are not needed anymore.
2010-02-13r300g: disable independent blend enablesMarek Olšák
Not supported by r300.
2010-02-13r300g: emit INDEPENDENT_COLORFORMAT_ENABLE only on r5xxMarek Olšák
2010-02-12Merge branch 'gallium-dynamicstencilref'Roland Scheidegger
2010-02-12gallium: make max_anisotropy a unsigned bitfield memberRoland Scheidegger
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.
2010-02-11gallium: make u_blitter code save/restore stencil ref valuesRoland Scheidegger
2010-02-11r300g: adapt to stencil ref changesRoland Scheidegger