summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300
AgeCommit message (Collapse)Author
2010-04-19gallium/draw: use correct rasterization state for wide/AA points/linesBrian Paul
When points or lines are decomposed into triangles, we need to be sure to disable polygon culling, stippling, "un-filled" modes, etc. This patch sets the rasterization state to disable those things prior to drawing points/lines with triangles, then restores the previous state afterward. The new piglit point-no-line-cull test checks this problem & solution.
2010-03-19r300g: remove hacks from translate_vertex_data_swizzleMarek Olšák
Fixing RGBA 4ub vertex colors.
2010-03-12Grammar and spelling fixesJeff Smith
Signed-off-by: Jeff Smith <whydoubt@yahoo.com> Signed-off-by: Brian Paul <brianp@vmware.com>
2010-03-04r300g: Fix indexbuf upper limits.Corbin Simpson
Wine tends to pessimistically use ~0 for its max index, but r300s only can go up to 2^24-1, causing the kernel checker to freak out. Civ4 is marginally improved now. Still crashes, but not as bad.
2010-03-03r300: Remove PIPE_FORMAT_R8G8B8X8_SNORM support.José Fonseca
2010-03-02r300g: Use a macro to consolidate general state handling.Corbin Simpson
My God, I've reinvented R300_STATECHANGE. Forgive me. :C
2010-03-02Merge branch 'gallium-format-cleanup'José Fonseca
2010-03-02Merge branch 'gallium-no-rhw-position'Michal Krol
Conflicts: src/gallium/drivers/r300/r300_blit.c src/gallium/drivers/r300/r300_emit.c src/gallium/drivers/r300/r300_state_derived.c
2010-03-02r300: Rename pipe formats.José Fonseca
2010-03-01r300: Remove PIPE_FORMAT_A8B8G8R8_SNORM.José Fonseca
PIPE_FORMAT_R8G8B8A8_SNORM already listed.
2010-03-01r300: Use PIPE_FORMAT_R8G8B8A8_UNORM_REV where appropriate.José Fonseca
2010-03-01r300: Save viewport and clip states before invoking blitter.Michal Krol
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-22gallium: Remove bypass_vs_clip_and_viewport from rasteriser state.Michal Krol
Needs testing.
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