Commit Graph

35959 Commits

Author SHA1 Message Date
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
Keith Whitwell ccbd9ae7cc docs: clarify point sprite discussion
Plagiarizes email explanation from Roland.
2010-08-05 11:09:14 +01:00
Vinson Lee 5e56c8907b st/mesa: Remove unnecessary header from st_gl_api.h. 2010-08-05 01:38:46 -07:00
Vinson Lee ea1744a664 mesa: Include missing header in st_get_mipmap.h.
Include mtypes.h for GLcontext symbol.
Add forward declaration for st_context.
2010-08-05 01:23:46 -07:00
Vinson Lee ad4d27c6d1 st/mesa: Include missing headers in st_format.h. 2010-08-05 00:59:44 -07:00
Vinson Lee 2febc491bc st/mesa: Add forward delcaration in st_extensions.h. 2010-08-05 00:54:27 -07:00
Vinson Lee 4f9ca250d6 st/mesa: Add missing headers to st_draw.h. 2010-08-05 00:52:30 -07:00
Chris Wilson 66708fd8a9 intel: Check for a NULL src buffer prior to blt
This can only happen along a malloc failure path, but check anyway.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-08-05 08:39:15 +01:00
Chris Wilson 85cfe32180 intel: Check for region allocation failure.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-08-05 08:38:55 +01:00
Vinson Lee 9c98e9e6b5 st/mesa: Add missing header in st_context.c. 2010-08-04 21:17:13 -07:00
Vinson Lee a0989e9437 st/mesa: Add missing header in st_atom_pixeltransfer.c. 2010-08-04 21:13:33 -07:00
Vinson Lee 1525fb4afe st/mesa: Clean up header file inclusion in st_context.h. 2010-08-04 21:09:27 -07:00
Vinson Lee 6f8b6661ce st/mesa: Add missing header in st_cb_xformfb.h. 2010-08-04 20:58:22 -07:00
Vinson Lee cb7638579e st/mesa: Clean up st_cb_viewport.h.
Add inclusion guard.
Add forward declaration.
2010-08-04 17:04:38 -07:00
Vinson Lee e857293299 st/mesa: Add missing headers in st_cb_texture.h. 2010-08-04 17:00:23 -07:00
Francisco Jerez bc578caefb dri/nouveau: Don't try to validate uninitialized teximages. 2010-08-05 01:48:14 +02:00
Francisco Jerez d03f04bfb5 dri/nv20: Fix some PGRAPH_ERRORs seen with DATA_CHECK enabled. 2010-08-05 01:48:14 +02:00
Francisco Jerez e96a52e993 dri/nouveau: Fix up software mipmap generation. 2010-08-05 01:48:14 +02:00
Vinson Lee 060a95c3a9 st/mesa: Add forward declaration in st_cb_strings.h. 2010-08-04 16:46:42 -07:00
Vinson Lee e9d6f2fc8a st/mesa: Add missing header in st_cb_readpixels.h.
Include mtypes.h for GLcontext symbol.
2010-08-04 16:40:04 -07:00
Vinson Lee a25ac9b526 st/mesa: Clean up header file inclusion in st_cb_rasterpos.h. 2010-08-04 16:33:10 -07:00
Vinson Lee 2bb3bfa943 st/mesa: Add missing header in st_cb_program.h.
Include mtypes.h for GLcontext symbol.
2010-08-04 16:13:15 -07:00
Vinson Lee 7f7bbf0d5b r300/compiler: Remove unnecessary header. 2010-08-04 15:45:41 -07:00
Vinson Lee 81bc4f4cbf intel: Remove unnecessary header. 2010-08-04 15:38:24 -07:00
Vinson Lee 9f7e7ce757 st/mesa: Add missing headers in st_cb_flush.h.
Add forward declarations.
Include p_compiler.h for uint symbol.
2010-08-04 15:32:53 -07:00
Vinson Lee 85dbb2904b st/mesa: Clean up header inclusion in st_cb_feedback.h.
Replace mtypes.h with forward declaration.
Include compiler.h for INLINE symbol.
2010-08-04 15:26:37 -07:00
Jerome Glisse 12dac449fb r600g: force flush on map as temporary fix to readpixel
Should allow more piglit test to pass. Need to plugin
proper flushing.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-04 16:29:56 -04:00
Vinson Lee 2e85117b5f st/mesa: Add missing headers to st_cb_fbo.h. 2010-08-04 13:18:55 -07:00
Jerome Glisse 9a78e790dc r600g: always perform texture perspective divide + fix blending
quake3 engine seems to run fine at this point (ioquake)

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-08-04 16:11:39 -04:00
Vinson Lee 19bfb55fb5 st/mesa: Clean up header file inclusion in st_cb_eglimage.h.
Replace dd.h and mtypes.h with a forward declaration.
Include compiler.h for INLINE symbol.
2010-08-04 13:04:36 -07:00
Vinson Lee 988e86762f draw: Fix return type of draw_translate_vinfo_size.
Fixes typo from commit b609cfc7c9.
2010-08-04 12:55:21 -07:00
Vinson Lee 137c510097 st/mesa: Clean up header file inclusion in st_cb_drawtex.h.
Replace mtypes.h with forward declarations.
Include compiler.h for INLINE symbol.
2010-08-04 12:46:38 -07:00
Vinson Lee dce63cf431 st/mesa: Clean up header file inclusion in st_cb_drawpixels.h.
Replace mtypes.h with forward declarations.
Include compiler.h for INLINE symbol.
2010-08-04 12:29:26 -07:00
Vinson Lee 7fdf6d5c28 st/mesa: Add forward declaration in st_cb_condrender.h. 2010-08-04 12:24:51 -07:00
Vinson Lee ed810ba724 st/mesa: Add forward declarations in st_cb_clear.h. 2010-08-04 12:22:31 -07:00
Vinson Lee 6bc17324da st/mesa: Include missing headers in st_cb_bufferobjects.h.
Include compiler.h for INLINE symbol.
Include mtypes.h for gl_buffer_object symbol.
2010-08-04 12:13:29 -07:00
Vinson Lee eb4f2d4b02 st/mesa: Clean up header file inclusion in st_cb_blit.h.
Replaced mtypes.h and st_context.h with forward declarations.
Added compiler.h for INLINE symbol.
2010-08-04 12:08:17 -07:00
Vinson Lee e6902afeee st/mesa: Clean up header file inclusion in st_cb_bitmap.h.
Removed mtypes.h.
Include compiler.h for INLINE symbol.
Added forward declarations.
2010-08-04 12:00:19 -07:00
Kristian Høgsberg 2542d8e0c2 glx: Move deref after NULL check 2010-08-04 12:51:26 -04:00
Kristian Høgsberg e3a0e468bc glx: Fix use after free in drisw error path 2010-08-04 08:57:02 -04:00
Kristian Høgsberg e71c44cedd glx: We no longer need screen extensions for drisw
https://bugs.freedesktop.org/show_bug.cgi?id=29177
2010-08-04 08:52:26 -04:00
Kristian Høgsberg 9da1c9da13 glx: dri2InvalidateBuffers() needs the X drawable XID not the GLX one
This never ceases to entertain.
2010-08-04 08:47:36 -04:00
Andre Maasikas 8ad5b76d52 r600: relax stride/alignment requirements for vertices
seems hw can do unaligned accesses and unaligned strides
removes extra conversion when using vbo's

however I needed to switch 3 component byte format to 4 component formats
for tests to pass. Somewhat sililar to GL_SHORT fix done earlier

removes assert and gains +2 piglit especially draw-vertices
2010-08-04 12:49:39 +03:00
Chia-I Wu 5c2f01bbb0 draw: Fix the edge flags of flatshade_first polygons.
This bug can be triggered by rendering polygons with

   glProvokingVertexEXT(GL_FIRST_VERTEX_CONVENTION_EXT);
   glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
2010-08-04 14:03:05 +08:00
Tom Stellard 09c8fa570e r300/compiler: Always unroll loops when doing loop emulation. 2010-08-03 20:17:00 -07:00
Tom Stellard 2824d5687a r300/compiler: r500 hw support for break and continue in loops.
The BGNLOOP and ENDLOOP instructions are now being used correctly, which
makes break and continue possible.  The deadcode pass has been modified to
handle breaks, and the compiler is more careful about which loops are
unrolled.
2010-08-03 19:11:08 -07:00
Tom Stellard 9dcc500666 r300/compiler: KILP may not always be inside an IF statement. 2010-08-03 19:11:08 -07:00
Tom Stellard 680f486ffd r300/compiler: Don't unroll loops with continue or break. 2010-08-03 19:11:08 -07:00
Vinson Lee a3ff6c2697 st/mesa: Clean up header file inclusion in st_cache.h. 2010-08-03 17:55:53 -07:00
Vinson Lee 279926859e st/mesa: Add forward declarations in st_atom_shader.h. 2010-08-03 17:35:29 -07:00