summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_render.c
AgeCommit message (Collapse)Author
2010-03-29r300g: Bind constantbuf to Draw immediately, don't wait for render.Corbin Simpson
Doesn't hurt, and reduces code duplication.
2010-03-21r300g: put common defines into one fileMarek Olšák
2010-03-21r300g: align misaligned ushort vertex indicesMarek Olšák
2010-03-21r300g: fix misaligned generated offset for ubyte vertex indicesMarek Olšák
2010-03-20r300g: Bump immediate limits.Corbin Simpson
Seems like a decent idea, especially since the big barrier now is getting the VBOs back from the VRAM boundary.
2010-03-20r300g: Correctly hax max_index on pipe_vertex_buffers.Corbin Simpson
Still not happy with this, but at least things seem to work.
2010-03-15r300g: rebuild screen/winsys interfaceDave Airlie
This creates a cleaner winsys and drop the simple screen stuff. It makes r300g use pb_bufmgr structs. It also tries to avoid overheads from mapping too often. v5: clean warnings v6: break out of cache check on first buffer - since most likely the first busy one implies all after it are busy. v7: cleanup a bit v8-merged: drop cman for now to just get all the interface changes in first. rework to changes that happened upstream Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-03-13r300g: refrain from using immediate mode if it causes slowdownMarek Olšák
E.g. when mapping buffers could flush CS or cause waiting for a busy buffer. The side effect of this is it also fixes progs/demos/arbocclude however a separate fix should be proposed to address this issue in other cases it might occur.
2010-03-12r300g: Forcibly sanitize max index.Corbin Simpson
Not perfect, but the kernel should shut up now.
2010-03-12r300g: Properly clamp index limits.Corbin Simpson
Make the kernel even less likely to barf on us.
2010-03-09r300g: Reorder regs, save one dword.Corbin Simpson
Or, put another way, save 10% on rendering calls.
2010-03-09r300g: fix gallium-vertexlementcso merge damageRoland Scheidegger
2010-03-09Merge branch 'gallium-vertexelementcso'Roland Scheidegger
Conflicts: src/gallium/auxiliary/cso_cache/cso_context.c src/gallium/auxiliary/util/u_blit.c src/gallium/auxiliary/util/u_gen_mipmap.c src/gallium/drivers/i915/i915_context.h src/gallium/drivers/i965/brw_draw_upload.c src/gallium/drivers/r300/r300_blit.c src/gallium/drivers/r300/r300_context.h src/gallium/drivers/r300/r300_render.c src/gallium/drivers/r300/r300_state_derived.c src/mesa/state_tracker/st_cb_bitmap.c src/mesa/state_tracker/st_cb_clear.c
2010-03-07r300g: validate buffers when using SWTCLMarek Olšák
2010-03-06r300g: clamp vertex max index according to currently bound buffersMarek Olšák
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-01r300g: adapt to new vertex element csoRoland Scheidegger
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-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: prevent CS overflow when emitting the draw packetsMarek Olšák
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com>
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-02gallium: pipe/p_inlines.h -> util/u_inlines.hJosé Fonseca
2010-01-30r300g: Silence uninitialized variable warning.Vinson Lee
2010-01-28gallium: Enable multiple constant buffers for vertex and geometry shaders.Michal Krol
2010-01-28r300g: Fix bizarre half-flushes with immd mode.Corbin Simpson
2010-01-26r300g: Make vertex_format into an atom.Corbin Simpson
Some delicious hax here.
2010-01-25r300g: Finish and enable immediate mode.Corbin Simpson
Based on Marek's immd-mode patch.
2010-01-25Revert "r300g,radeong: finish and enable the immediate mode"Corbin Simpson
This reverts commit 112239e9a66a155d36fe2ad0ab130e6f26eff298.
2010-01-24r300g,radeong: finish and enable the immediate modeMarek Olšák
Nearly 100% performance increase in glxgears.
2010-01-24r300g: fix flushing harder.Dave Airlie
I swear ipers runs here after this commit. After we flush we need to redo the space check
2010-01-23r300: fix wrong call in last commitDave Airlie
2010-01-23r300g: fix up buffer emission ordering.Dave Airlie
This fixes the code space checking VBOs, then resetting the space list and space checking other buffers. it fixes demos/ipers Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-01-16r300g: Stop using indices.Corbin Simpson
Sorry, it was a good game, but it just doesn't work.
2010-01-16r300g: Respect fill modes in indices fallback.Corbin Simpson
2010-01-14r300g: Cleanup from last few commits.Corbin Simpson
Strangely enough, the code solidified pretty quickly.
2010-01-14r300g: Really destroy translated buffer at the end.Łukasz Krotowski
Note that indexSize is changed by r300_translate_elts(). Also make sure it's destroyed on errors.
2010-01-13r300g: Use indices to translate index buffers of ubytes.Corbin Simpson
progs/redbook/aapoly, among others, works fine now.
2010-01-13r300g: Disable immediate mode rendering for now.Corbin Simpson
Will re-enable when the bugs are ironed out.
2010-01-12r300g: Lower the immd mode threshold.Corbin Simpson
2010-01-12r300g: Switch to immediate mode for tiny renders.Corbin Simpson
Useful for e.g. blitter.
2010-01-10r300g: Don't bother testing for empty scissors.Corbin Simpson
If somebody goes through that much effort, they probably intended it. So humor them. :3
2010-01-10r300g: Atomize scissors.Corbin Simpson
Argfl. Some of this code is so questionable.
2010-01-10r300g: Atomize rasterizer.Corbin Simpson
I want to stab things now.
2010-01-05Merge commit 'origin/gallium-draw-retval'Keith Whitwell
Conflicts: src/gallium/drivers/identity/id_context.c
2010-01-01r300: Fix scons build.José Fonseca