summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_context.c
AgeCommit message (Collapse)Author
2010-08-06r300g: do not emit GB_Z_PEQ_CONFIG on non-r500 if DRM < 2.6.0Marek Olšák
2010-08-05r300g: always emit hyperz state atom.Dave Airlie
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-19r300g: fix possible crash in destroy_contextMarek 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-19r300g: fix typoMarek Olšák
2010-07-19r300g: use memory pools for buffer_create and get_transferMarek Olšák
The improvement in Tremulous: 68.9 fps -> 71.1 fps.
2010-07-16r300g: rebuild winsys and command submission to support multiple contextsMarek Olšák
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-07-08r300g: add a function for marking framebuffer atoms as dirtyMarek Olšák
2010-07-08r300g: minor fixupsMarek Olšák
2010-06-30r300g: add workaround for multiple contextsMarek Olšák
2010-06-29util: reference surfaces and sampler views in blitter when saving themMarek Olšák
Ooops. This should possibly fix some bugs...
2010-06-27r300g: separate the hyperz state and pipelined FB regs out of the FB stateMarek Olšák
2010-06-27r300g: release referenced objects in destroy_contextMarek Olšák
2010-06-27r300g: move emission of the MSPOS regs into the framebuffer stateMarek 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-27r300g: turn invariant state into a command bufferMarek Olšák
2010-06-27r300g: initialize some crucial state in the first CSMarek Olšák
2010-06-26r300g: introduce VAP invariant stateMarek Olšák
Unlike other invariant states, this one must be emitted after VAP flush.
2010-06-26r300g: update my notes about fastfill and zbuffer compressionMarek Olšák
2010-06-24r300g: move AA registers into the new AA stateMarek Olšák
2010-06-24r300g: separate the cache flush from the framebuffer stateMarek Olšák
2010-06-24r300g: reorder and cleanup register writes everywhereMarek Olšák
2010-06-21r300g: fix crash when destroying the context on r3xx-r4xxMarek Olšák
FDO bug #28652,
2010-06-21r300g: fix the KIL opcode for r3xx-r4xx (v4)Marek Olšák
2010-06-18r300g: fix hardlocks in occlusion queriesMarek 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-14r300g: rewrite occlusion queriesMarek 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-13r300g: turn clip state into a CBMarek Olšák
2010-06-13r300g: turn blend color into a CBMarek Olšák
2010-06-13r300g: replace r300_cs_info with simplier get_cs_free_dwordsMarek 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-05-26r300g: add get_cs_info winsys entrypoint, abandon check_csMarek Olšák
2010-05-26r300g: more efficient finish + fix commentsMarek Olšák
2010-05-26r300g: implement fake but compliant fencesMarek Olšák
2010-05-25r300g: add r300_init_render_functions, remove r300_render.hMarek Olšák
2010-05-25r300g: remove r300_query.hMarek Olšák
2010-05-25r300g: remove r300_flush.hMarek Olšák
2010-05-25r300g: add r300_init_blit_functions, remove r300_blit.hMarek Olšák
2010-05-25r300g,util: remove pipe_surface from the util_blitter_copy interface and ↵Marek Olšák
clean up
2010-05-25r300g,util: remove pipe_surface from the util_blitter_fill interface and ↵Marek Olšák
clean up
2010-05-21Merge branch 'gallium-msaa'Roland Scheidegger
Conflicts: src/mesa/state_tracker/st_gen_mipmap.c src/mesa/state_tracker/st_texture.c
2010-05-17r300g: adapt to interface changesRoland Scheidegger
might need further cleanup. Using surfaces internally for the u_blitter code seems nonoptimal.
2010-05-02r300g: 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-16r300g/swtcl: disable converting points/lines to trianglesMarek Olšák
2010-05-15r300g: the vertex_stream_state atom for SWTCL should be staticMarek Olšák
plus whitespace and comment fixes.
2010-05-15r300g: fix emission of some non-CSO atoms at the beginning of CSMarek Olšák
2010-05-12r300g: 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-26r300g: fix warnings when printing uint64_tMarek Olšák
Though not nice, this is the correct way.
2010-04-26r300g: Rudimentary stats, printed on exit.Corbin Simpson
Whoo!