Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-08-06 | r300g: do not emit GB_Z_PEQ_CONFIG on non-r500 if DRM < 2.6.0 | Marek Olšák | |
2010-08-05 | r300g: always emit hyperz state atom. | Dave Airlie | |
2010-08-05 | r300g: 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-19 | r300g: fix possible crash in destroy_context | Marek Olšák | |
The problem is destroy_context is almost NEVER called. The only test for destroy_context I know is compiz. Reported by Vinson Lee. FDO bug #29150. | |||
2010-07-19 | r300g: fix typo | Marek Olšák | |
2010-07-19 | r300g: use memory pools for buffer_create and get_transfer | Marek Olšák | |
The improvement in Tremulous: 68.9 fps -> 71.1 fps. | |||
2010-07-16 | r300g: rebuild winsys and command submission to support multiple contexts | Marek Olšák | |
2010-07-12 | r300g: implement fast color clear | Marek 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-12 | r300g: clear and copy a resource with a rectangular point sprite | Marek 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-12 | r300g: do not use immediate mode if there is a VBO in VRAM | Marek Olšák | |
And other minor fixups. | |||
2010-07-08 | r300g: add a function for marking framebuffer atoms as dirty | Marek Olšák | |
2010-07-08 | r300g: minor fixups | Marek Olšák | |
2010-06-30 | r300g: add workaround for multiple contexts | Marek Olšák | |
2010-06-29 | util: reference surfaces and sampler views in blitter when saving them | Marek Olšák | |
Ooops. This should possibly fix some bugs... | |||
2010-06-27 | r300g: separate the hyperz state and pipelined FB regs out of the FB state | Marek Olšák | |
2010-06-27 | r300g: release referenced objects in destroy_context | Marek Olšák | |
2010-06-27 | r300g: move emission of the MSPOS regs into the framebuffer state | Marek Olšák | |
Now the question is whether we are allowed to ignore gl_rasterization_rules and pipe_rasterizer_state::multisample. The former is invariant anyway and I think the latter would need re-emitting the AA state which is quite costly, considering that it implicitly flushes the whole pipeline (all AA regs in the AA state are *unpipelined*). | |||
2010-06-27 | r300g: turn invariant state into a command buffer | Marek Olšák | |
2010-06-27 | r300g: initialize some crucial state in the first CS | Marek Olšák | |
2010-06-26 | r300g: introduce VAP invariant state | Marek Olšák | |
Unlike other invariant states, this one must be emitted after VAP flush. | |||
2010-06-26 | r300g: update my notes about fastfill and zbuffer compression | Marek Olšák | |
2010-06-24 | r300g: move AA registers into the new AA state | Marek Olšák | |
2010-06-24 | r300g: separate the cache flush from the framebuffer state | Marek Olšák | |
2010-06-24 | r300g: reorder and cleanup register writes everywhere | Marek Olšák | |
2010-06-21 | r300g: fix crash when destroying the context on r3xx-r4xx | Marek Olšák | |
FDO bug #28652, | |||
2010-06-21 | r300g: fix the KIL opcode for r3xx-r4xx (v4) | Marek Olšák | |
2010-06-18 | r300g: fix hardlocks in occlusion queries | Marek Olšák | |
Early Z test (=ZTOP) must be disabled before a query is started, otherwise the GPU is dead. The order of emitted registers matters more than you might think. This fixes hardlocks in sauerbraten. | |||
2010-06-14 | r300g: rewrite occlusion queries | Marek Olšák | |
The previous implementation had issues with queries spanning over several command streams as well as using a very large number of queries. This fixes flickering in Enemy Territory: Quake Wars. The driver now renders everything correctly in this game and the graphics is awesome. | |||
2010-06-13 | r300g: turn clip state into a CB | Marek Olšák | |
2010-06-13 | r300g: turn blend color into a CB | Marek Olšák | |
2010-06-13 | r300g: replace r300_cs_info with simplier get_cs_free_dwords | Marek Olšák | |
2010-06-13 | r300g: add fallback for unaligned/unsupported vertex stride/offset/format | Marek Olšák | |
There is a problem though, the translate module cannot emit half float vertices. | |||
2010-05-26 | r300g: add get_cs_info winsys entrypoint, abandon check_cs | Marek Olšák | |
2010-05-26 | r300g: more efficient finish + fix comments | Marek Olšák | |
2010-05-26 | r300g: implement fake but compliant fences | Marek Olšák | |
2010-05-25 | r300g: add r300_init_render_functions, remove r300_render.h | Marek Olšák | |
2010-05-25 | r300g: remove r300_query.h | Marek Olšák | |
2010-05-25 | r300g: remove r300_flush.h | Marek Olšák | |
2010-05-25 | r300g: add r300_init_blit_functions, remove r300_blit.h | Marek Olšák | |
2010-05-25 | r300g,util: remove pipe_surface from the util_blitter_copy interface and ↵ | Marek Olšák | |
clean up | |||
2010-05-25 | r300g,util: remove pipe_surface from the util_blitter_fill interface and ↵ | Marek Olšák | |
clean up | |||
2010-05-21 | Merge branch 'gallium-msaa' | Roland Scheidegger | |
Conflicts: src/mesa/state_tracker/st_gen_mipmap.c src/mesa/state_tracker/st_texture.c | |||
2010-05-17 | r300g: adapt to interface changes | Roland Scheidegger | |
might need further cleanup. Using surfaces internally for the u_blitter code seems nonoptimal. | |||
2010-05-02 | r300g: merge VS output mapping state (VAP) to rasterizer block state (RS) | Marek Olšák | |
These two should be tied together because what's set in VAP or stuffed in GA should be rasterized in RS. Not doing so causes a hardlock. The reason for the merge is that if stuffed texture coordinates (e.g. point sprite texgen) happen to occupy the texcoord slot dedicated to fog or wpos, the two must be relocated to other free slots, which needs remapping the vertex shader outputs. The rasterizer code is now literally a sequence read-rasterize-write. | |||
2010-05-16 | r300g/swtcl: disable converting points/lines to triangles | Marek Olšák | |
2010-05-15 | r300g: the vertex_stream_state atom for SWTCL should be static | Marek Olšák | |
plus whitespace and comment fixes. | |||
2010-05-15 | r300g: fix emission of some non-CSO atoms at the beginning of CS | Marek Olšák | |
2010-05-12 | r300g: Correct viewport setup for SW TCL. | Corbin Simpson | |
glxgears now renders in the right place on-screen, although it is still rather...psychedelic. | |||
2010-04-26 | r300g: fix warnings when printing uint64_t | Marek Olšák | |
Though not nice, this is the correct way. | |||
2010-04-26 | r300g: Rudimentary stats, printed on exit. | Corbin Simpson | |
Whoo! |