Commit Graph

22 Commits

Author SHA1 Message Date
Marek Olšák f668ea11bd Revert "u_blitter: unify clear_depth_stencil and flush_depth_stencil"
This reverts commit de4784e365.
2010-08-12 13:35:16 +02:00
Marek Olšák de4784e365 u_blitter: unify clear_depth_stencil and flush_depth_stencil
No need to enable depth test for clear.
2010-08-12 06:21:24 +02:00
Dave Airlie 6eb2a7fbaf r300g: implement hyper-z support. (v4)
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-08-05 20:32:05 +10:00
Marek Olšák 9be8f7d226 u_blitter: add draw_rectangle callback which can be overridden by a driver 2010-07-12 06:32:52 +02:00
Marek Olšák 9b03da9bdd u_blitter: rename blitter->base, add a way to get a pipe context from blitter 2010-07-12 02:06:39 +02:00
Marek Olšák 0b50fcbd55 util: reference surfaces and sampler views in blitter when saving them
Ooops. This should possibly fix some bugs...
2010-06-29 01:54:26 +02:00
Marek Olšák 8f17e011c3 util: reference vertex buffers in blitter 2010-06-09 02:26:24 +02:00
Roland Scheidegger a6e5c6c000 gallium: rename clearRT / clearDS to clear_render_target / clear_depth_stencil
more consistent with rest of gallium naming conventions.
Also rename driver-internal names for these the same.
2010-06-03 16:33:25 +02:00
Roland Scheidegger a1d5131d2e util: adapt to clear interface changes 2010-05-29 00:02:05 +02:00
Marek Olšák 4d70a25964 util: update comments at blitter 2010-05-25 23:32:25 +02:00
Marek Olšák 876de34c91 r300g,util: remove pipe_surface from the util_blitter_copy interface and clean up 2010-05-25 23:32:25 +02:00
Marek Olšák 59e51d9640 r300g,util: remove pipe_surface from the util_blitter_fill interface and clean up 2010-05-25 23:32:25 +02:00
Marek Olšák 85c55f2cf4 util: remove unused util_blitter_copy_surface 2010-05-25 23:32:25 +02:00
Luca Barbieri 64aa67a360 u_blitter: add support for saving vertex buffers
Currently r300g does not save vertex buffer on blitter calls.

It gets away with it because the current Mesa state tracker usually
resets vertex buffers on every draw calls.

However, this is wrong.

nvfx won't be lucky because it needs to use the blitter inside draw
calls.
2010-04-18 15:29:23 +02:00
Michal Krol 3ce4375912 Merge branch 'master' into gallium-sampler-view
Conflicts:
	src/gallium/auxiliary/Makefile
	src/gallium/auxiliary/SConscript
	src/gallium/auxiliary/tgsi/tgsi_exec.c
	src/gallium/auxiliary/util/u_blitter.c
	src/gallium/drivers/i915/i915_context.h
	src/gallium/drivers/i965/brw_context.h
	src/gallium/drivers/llvmpipe/lp_context.h
	src/gallium/drivers/nv50/nv50_context.h
	src/gallium/drivers/nv50/nv50_state_validate.c
	src/gallium/drivers/nv50/nv50_tex.c
	src/gallium/drivers/r300/r300_blit.c
	src/gallium/drivers/r300/r300_context.h
	src/gallium/drivers/r300/r300_emit.c
	src/gallium/drivers/r300/r300_state.c
	src/gallium/drivers/softpipe/sp_context.h
	src/gallium/drivers/svga/svga_context.h
	src/gallium/drivers/svga/svga_pipe_sampler.c
2010-03-10 15:49:30 +01:00
Roland Scheidegger 685340a53e Merge branch 'gallium-vertexelementcso'
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-09 15:59:40 +01:00
Roland Scheidegger ac4abaecd5 util: adapt blitter code to new vertex element cso
The interface of util_draw_vertex_buffer looks a bit odd (calling code has to
set vertex elements but not vertex buffers) but due to the way cso state
handling generally works (can't re-bind original vertex element state easily
there) I guess that's ok for now.
2010-03-01 18:40:22 +01:00
Michal Krol 932e6f8d52 util: Fix u_blitter setup code after bypass_vs_clip_and_viewport removal.
Not tested.
2010-03-01 17:06:20 +01:00
Roland Scheidegger ed0f3b08b6 gallium: make u_blitter code save/restore stencil ref values 2010-02-11 19:01:10 +01:00
Marek Olšák 80e8156394 util/blitter: kill the draw_quad callback 2009-12-15 18:00:48 +00:00
Marek Olšák 55753f59ae util: add blitter 2009-12-15 18:00:30 +00:00
Michal Krol f610656608 gallium: WIP: Introduce sampler views. 2010-02-19 19:00:26 +01:00