summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_render.c
AgeCommit message (Collapse)Author
2010-09-16r300g/swtcl: fix CS overrunMarek Olšák
https://bugs.freedesktop.org/show_bug.cgi?id=29901
2010-09-13r300g/swtcl: unlock VBO after draw_flushMarek Olšák
https://bugs.freedesktop.org/show_bug.cgi?id=29901 https://bugs.freedesktop.org/show_bug.cgi?id=30132
2010-09-13r300g: fix SWTCLMarek Olšák
https://bugs.freedesktop.org/show_bug.cgi?id=29901
2010-09-13r300g: skip rendering if CS space validation failsMarek Olšák
radeon_cs_space_check flushes the pipe context on failure, retries the validation, and returns -1 if it fails again. At that point, there is nothing we can do, so let's skip draw operations instead of getting stuck in an infinite loop. This code path ideally should never be hit.
2010-09-13r300g: remove u_upload_flush from r300_draw_arraysMarek Olšák
This a leftover probably and is unnecessary, since we flush u_upload_mgr in r300_flush.
2010-09-04r300g: skip draw calls with no vertex elements, fixing hardlocksMarek Olšák
2010-08-25gallium: Use draw_set_index_buffer and others.Chia-I Wu
Update all drivers to use draw_set_index_buffer, draw_set_mapped_index_buffer, and draw_vbo. Remove draw_set_mapped_element_buffer and draw_set_mapped_element_buffer_range.
2010-08-25r300g: reset the index bias to 0 at the end of CSMarek Olšák
2010-08-23r300g: Remove unused variable.Vinson Lee
Fixes this GCC warning. r300_render.c: In function 'r300_draw_flush_vbuf': r300_render.c:988: warning: unused variable 'r300_render'
2010-08-23r300g: avoid stall in no-tcl drawing when mapping vboDave Airlie
the current code reuses the same vbo over and over, however after a flush we'd stall and wait for mapping on the vbo when we should just fire and forget. On a gears test this brings me from ~620 to ~750 on my rv530 in swtcl mode. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-15r300g: separate num_cs_end_dwords out from prepare_for_renderingMarek Olšák
2010-08-07r300g: fix cbzb clears when hyperz is offMarek Olšák
2010-08-05r300g: implement hyper-z support. (v4)Dave Airlie
This implements fast Z clear, Z compression, and HiZ support for r300->r500 GPUs. It also allows cbzb clears when fast Z clears are being used for the ZB. It requires a kernel with hyper-z support. Thanks to Marek Olšák <maraeo@gmail.com>, who started this off, and Alex Deucher at AMD for providing lots of hints. v2: squashed zmask ram size fix] squashed r300g/blitter: fix Z readback when compressed] v3: rebase around texture changes in master - .1 fix more bits v4: migrated to using u_mm in r300_texture to manage hiz/zmask rams consistently disabled HiZ when using OQ flush z-cache before turning hyper-z off update hyper-z state on dsa state change store depthclearvalue across cbzb clears and replace it afterwards. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-07-29r300g/swtcl: fix crash in ETQW and minor fixupsMarek Olšák
The Draw flush inside r300_flush was the culprit. Also, no need to flush Draw when changing a state since the flush is already inside swtcl_draw_vbo.
2010-07-29r300g/swtcl: fix crash after the draw_vbo mergeMarek Olšák
2010-07-29gallium: Avoid void pointer arithmetic.Chia-I Wu
This fixes fdo bug #29286.
2010-07-29gallium: Keep only pipe_context::draw_vbo.Chia-I Wu
That is, remove pipe_context::draw_arrays, pipe_context::draw_elements, pipe_context::draw_arrays_instanced, pipe_context::draw_elements_instanced, pipe_context::draw_range_elements.
2010-07-29gallium: Implement draw_vbo and set_index_buffer for all drivers.Chia-I Wu
Some drivers define a generic function that is called by all drawing functions. To implement draw_vbo for such drivers, either draw_vbo calls the generic function or the prototype of the generic function is changed to match draw_vbo. Other drivers have no such generic function. draw_vbo is implemented by calling either draw_arrays and draw_elements. For most drivers, set_index_buffer does not mark the state dirty for tracking. Instead, the index buffer state is emitted whenever draw_vbo is called, just like the case with draw_elements. It surely can be improved.
2010-07-18r300g: u_upload optimisationDave Airlie
fix vb/ib uploads
2010-07-16r300g: Remove unnecessary header.Vinson Lee
2010-07-16r300g: rebuild winsys and command submission to support multiple contextsMarek Olšák
2010-07-13r300g: extend and clean up debug loggingMarek Olšák
2010-07-13r300g: rework the draw_rectangle hookMarek Olšák
It is a lot simplier, cleaner, and more stable now.
2010-07-12r300g: implement fast color clearMarek Olšák
An initial implementation made by Dave Airlie. For it to be used, a color-only clear must be invoked and exactly one point-sampled render target must be set. The render target must be macrotiled (for us to overcome alignment issues) and bpp must be either 16 or 32. I can't see a difference in performance. :( Conflicts: src/gallium/drivers/r300/r300_blit.c
2010-07-12r300g: clear and copy a resource with a rectangular point spriteMarek Olšák
With an ordinary quad, the pixels on the main diagonal are computed and stored twice, which is somewhat inefficient and might not work well with specialized clear codepaths.
2010-07-12r300g: do not use immediate mode if there is a VBO in VRAMMarek Olšák
And other minor fixups.
2010-06-26r300g: immediate mode cleanupMarek Olšák
2010-06-24r300g: move AA registers into the new AA stateMarek Olšák
2010-06-23r300g: index buffer range checkingMarek Olšák
2010-06-22r300g: optimize the immediate mode emission path a bitMarek Olšák
2010-06-17r300g: fix surface leaksMarek Olšák
2010-06-16r300g: Fix up resolve.Corbin Simpson
Yay for old code.
2010-06-16r300g: Finish resolve function.Corbin Simpson
2010-06-16r300g: Add resource resolve function.Corbin Simpson
2010-06-13r300g: replace r300_cs_info with simplier get_cs_free_dwordsMarek Olšák
2010-06-13r300g: move two-sided stencilref fallback to its own fileMarek Olšák
2010-06-13r300g: move index buffer translate functions to their new homeMarek Olšák
2010-06-13r300g: add fallback for unaligned/unsupported vertex stride/offset/formatMarek Olšák
There is a problem though, the translate module cannot emit half float vertices.
2010-06-08r300g: skip rendering for unsupported vertex formats instead of abortingMarek Olšák
The next step is to replace skipping by an actual fallback.
2010-06-06r300g: workaround index bias on chipsets that do not support itMarek Olšák
2010-06-02r300g: use the stored GEM domain in add_buffer/write_relocMarek Olšák
I admit blitting to/from GTT is actually enforced in this commit, texture transfers are now damned fast!
2010-06-02r300g: use r300_buffer_domain everywhereMarek Olšák
2010-05-27r300g: decouple drawing code and two-sided stencil refvalue fallbackMarek Olšák
It's now more separate from the rest of the driver and it can be disabled by commenting out just 1 line. Well, I couldn't make the previous version work with SW TCL reliably, that's the reason of this little rework.
2010-05-26r300g/swtcl: handle large index count properlyMarek Olšák
This fixes piglit/draw-elements.
2010-05-26r300g/swtcl: force vertex prefetching for non-indexed primitivesMarek Olšák
2010-05-26r300g/swtcl: move emitting AOS to prepare_for_renderingMarek Olšák
2010-05-26r300g/swtcl: vbo transfer sanity checksMarek Olšák
2010-05-26r300g: add get_cs_info winsys entrypoint, abandon check_csMarek Olšák
2010-05-25r300g: add r300_init_render_functions, remove r300_render.hMarek Olšák
2010-05-16r300g/swtcl: put emitting max index to the right placeMarek Olšák
This fixes CS rejections in openarena.