Alex Deucher [Wed, 21 Jul 2010 21:46:45 +0000 (17:46 -0400)]
r600: add support for getting the tiling config via drm ioctl (v2)
Needed for the the 2D tiling span functions.
v2: rebase on new kernel, mesa changes
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Alex Deucher [Thu, 20 May 2010 21:59:05 +0000 (17:59 -0400)]
r600: add new relocs for tiling support
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Alex Deucher [Thu, 20 May 2010 21:50:54 +0000 (17:50 -0400)]
r600: add span support for 2D tiling
Requires tiling config ioctl support from the drm to use.
kms only.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Jerome Glisse [Wed, 4 Aug 2010 21:37:59 +0000 (17:37 -0400)]
r600g: don't use dynamic state allocation for states
Simplify state handly by avoiding state allocation.
Next step is to allocate once for all context packet
buffer and then avoid rebuilding pm4 packet each time
(through use of combined crc) this would also avoid
number of memcpy.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Joakim Sindholt [Thu, 5 Aug 2010 18:42:04 +0000 (20:42 +0200)]
targets/egl: fix build
Marek Olšák [Thu, 5 Aug 2010 17:04:01 +0000 (19:04 +0200)]
r300g: fix fb_state atom size
Marek Olšák [Wed, 4 Aug 2010 09:34:54 +0000 (11:34 +0200)]
r300g: debug_print on startup whether we can use hyper-z
Dave Airlie [Thu, 5 Aug 2010 10:58:51 +0000 (20:58 +1000)]
r300g: always emit hyperz state atom.
Dave Airlie [Thu, 5 Aug 2010 10:30:31 +0000 (20:30 +1000)]
r300g: disable hiz on rv530 for now.
On my rv530 at least HiZ is causing rendering issues in gears.
Dave Airlie [Wed, 7 Jul 2010 13:20:19 +0000 (15:20 +0200)]
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>
Keith Whitwell [Thu, 5 Aug 2010 09:58:02 +0000 (10:58 +0100)]
docs: clarify point sprite discussion
Plagiarizes email explanation from Roland.
Vinson Lee [Thu, 5 Aug 2010 08:38:46 +0000 (01:38 -0700)]
st/mesa: Remove unnecessary header from st_gl_api.h.
Vinson Lee [Thu, 5 Aug 2010 08:23:05 +0000 (01:23 -0700)]
mesa: Include missing header in st_get_mipmap.h.
Include mtypes.h for GLcontext symbol.
Add forward declaration for st_context.
Vinson Lee [Thu, 5 Aug 2010 07:59:44 +0000 (00:59 -0700)]
st/mesa: Include missing headers in st_format.h.
Vinson Lee [Thu, 5 Aug 2010 07:54:27 +0000 (00:54 -0700)]
st/mesa: Add forward delcaration in st_extensions.h.
Vinson Lee [Thu, 5 Aug 2010 07:52:30 +0000 (00:52 -0700)]
st/mesa: Add missing headers to st_draw.h.
Chris Wilson [Thu, 5 Aug 2010 07:37:31 +0000 (08:37 +0100)]
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>
Chris Wilson [Thu, 5 Aug 2010 07:34:09 +0000 (08:34 +0100)]
intel: Check for region allocation failure.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Vinson Lee [Thu, 5 Aug 2010 04:17:13 +0000 (21:17 -0700)]
st/mesa: Add missing header in st_context.c.
Vinson Lee [Thu, 5 Aug 2010 04:13:33 +0000 (21:13 -0700)]
st/mesa: Add missing header in st_atom_pixeltransfer.c.
Vinson Lee [Thu, 5 Aug 2010 04:09:27 +0000 (21:09 -0700)]
st/mesa: Clean up header file inclusion in st_context.h.
Vinson Lee [Thu, 5 Aug 2010 03:58:22 +0000 (20:58 -0700)]
st/mesa: Add missing header in st_cb_xformfb.h.
Vinson Lee [Thu, 5 Aug 2010 00:04:38 +0000 (17:04 -0700)]
st/mesa: Clean up st_cb_viewport.h.
Add inclusion guard.
Add forward declaration.
Vinson Lee [Wed, 4 Aug 2010 23:59:12 +0000 (16:59 -0700)]
st/mesa: Add missing headers in st_cb_texture.h.
Francisco Jerez [Wed, 4 Aug 2010 14:38:57 +0000 (16:38 +0200)]
dri/nouveau: Don't try to validate uninitialized teximages.
Francisco Jerez [Wed, 28 Jul 2010 20:32:49 +0000 (22:32 +0200)]
dri/nv20: Fix some PGRAPH_ERRORs seen with DATA_CHECK enabled.
Francisco Jerez [Wed, 28 Jul 2010 16:37:24 +0000 (18:37 +0200)]
dri/nouveau: Fix up software mipmap generation.
Vinson Lee [Wed, 4 Aug 2010 23:46:42 +0000 (16:46 -0700)]
st/mesa: Add forward declaration in st_cb_strings.h.
Vinson Lee [Wed, 4 Aug 2010 23:40:04 +0000 (16:40 -0700)]
st/mesa: Add missing header in st_cb_readpixels.h.
Include mtypes.h for GLcontext symbol.
Vinson Lee [Wed, 4 Aug 2010 23:33:10 +0000 (16:33 -0700)]
st/mesa: Clean up header file inclusion in st_cb_rasterpos.h.
Vinson Lee [Wed, 4 Aug 2010 23:13:15 +0000 (16:13 -0700)]
st/mesa: Add missing header in st_cb_program.h.
Include mtypes.h for GLcontext symbol.
Vinson Lee [Wed, 4 Aug 2010 22:45:41 +0000 (15:45 -0700)]
r300/compiler: Remove unnecessary header.
Vinson Lee [Wed, 4 Aug 2010 22:38:24 +0000 (15:38 -0700)]
intel: Remove unnecessary header.
Vinson Lee [Wed, 4 Aug 2010 22:32:53 +0000 (15:32 -0700)]
st/mesa: Add missing headers in st_cb_flush.h.
Add forward declarations.
Include p_compiler.h for uint symbol.
Vinson Lee [Wed, 4 Aug 2010 22:26:37 +0000 (15:26 -0700)]
st/mesa: Clean up header inclusion in st_cb_feedback.h.
Replace mtypes.h with forward declaration.
Include compiler.h for INLINE symbol.
Jerome Glisse [Wed, 4 Aug 2010 20:28:33 +0000 (16:28 -0400)]
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>
Vinson Lee [Wed, 4 Aug 2010 20:17:57 +0000 (13:17 -0700)]
st/mesa: Add missing headers to st_cb_fbo.h.
Jerome Glisse [Wed, 4 Aug 2010 20:10:11 +0000 (16:10 -0400)]
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>
Vinson Lee [Wed, 4 Aug 2010 20:04:36 +0000 (13:04 -0700)]
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.
Vinson Lee [Wed, 4 Aug 2010 19:55:21 +0000 (12:55 -0700)]
draw: Fix return type of draw_translate_vinfo_size.
Fixes typo from commit
b609cfc7c9c38f26e7e6d6f7dd5dd6d38f4ed209.
Vinson Lee [Wed, 4 Aug 2010 19:46:38 +0000 (12:46 -0700)]
st/mesa: Clean up header file inclusion in st_cb_drawtex.h.
Replace mtypes.h with forward declarations.
Include compiler.h for INLINE symbol.
Vinson Lee [Wed, 4 Aug 2010 19:29:26 +0000 (12:29 -0700)]
st/mesa: Clean up header file inclusion in st_cb_drawpixels.h.
Replace mtypes.h with forward declarations.
Include compiler.h for INLINE symbol.
Vinson Lee [Wed, 4 Aug 2010 19:24:51 +0000 (12:24 -0700)]
st/mesa: Add forward declaration in st_cb_condrender.h.
Vinson Lee [Wed, 4 Aug 2010 19:22:31 +0000 (12:22 -0700)]
st/mesa: Add forward declarations in st_cb_clear.h.
Vinson Lee [Wed, 4 Aug 2010 19:13:29 +0000 (12:13 -0700)]
st/mesa: Include missing headers in st_cb_bufferobjects.h.
Include compiler.h for INLINE symbol.
Include mtypes.h for gl_buffer_object symbol.
Vinson Lee [Wed, 4 Aug 2010 19:07:12 +0000 (12:07 -0700)]
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.
Vinson Lee [Wed, 4 Aug 2010 19:00:19 +0000 (12:00 -0700)]
st/mesa: Clean up header file inclusion in st_cb_bitmap.h.
Removed mtypes.h.
Include compiler.h for INLINE symbol.
Added forward declarations.
Kristian Høgsberg [Wed, 4 Aug 2010 16:50:36 +0000 (12:50 -0400)]
glx: Move deref after NULL check
Kristian Høgsberg [Wed, 4 Aug 2010 12:57:02 +0000 (08:57 -0400)]
glx: Fix use after free in drisw error path
Kristian Høgsberg [Wed, 4 Aug 2010 12:51:43 +0000 (08:51 -0400)]
glx: We no longer need screen extensions for drisw
https://bugs.freedesktop.org/show_bug.cgi?id=29177
Kristian Høgsberg [Wed, 4 Aug 2010 12:43:08 +0000 (08:43 -0400)]
glx: dri2InvalidateBuffers() needs the X drawable XID not the GLX one
This never ceases to entertain.
Andre Maasikas [Wed, 4 Aug 2010 09:49:39 +0000 (12:49 +0300)]
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
Chia-I Wu [Wed, 4 Aug 2010 06:00:04 +0000 (14:00 +0800)]
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);
Tom Stellard [Wed, 4 Aug 2010 03:17:00 +0000 (20:17 -0700)]
r300/compiler: Always unroll loops when doing loop emulation.
Tom Stellard [Tue, 3 Aug 2010 22:23:23 +0000 (15:23 -0700)]
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.
Tom Stellard [Mon, 2 Aug 2010 03:06:53 +0000 (20:06 -0700)]
r300/compiler: KILP may not always be inside an IF statement.
Tom Stellard [Mon, 12 Jul 2010 20:14:38 +0000 (13:14 -0700)]
r300/compiler: Don't unroll loops with continue or break.
Vinson Lee [Wed, 4 Aug 2010 00:55:53 +0000 (17:55 -0700)]
st/mesa: Clean up header file inclusion in st_cache.h.
Vinson Lee [Wed, 4 Aug 2010 00:35:29 +0000 (17:35 -0700)]
st/mesa: Add forward declarations in st_atom_shader.h.
Dave Airlie [Tue, 3 Aug 2010 23:36:17 +0000 (09:36 +1000)]
r300g: disable multisample visuals until the state tracker bits catch up.
This stops us advertising lots of ms visuals we can't actually use.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Brian Paul [Tue, 3 Aug 2010 22:32:32 +0000 (16:32 -0600)]
draw: check for instance divisors in vcache_check_run()
When we have instance divisors we don't really know which vertex
elements we'll be fetching ahead of time.
This fixes a bug in instanced drawing which was exposed by the new
draw_vbo() code because of max_index not being ~0 as often as it used
to be. The test for max_index >= DRAW_PIPE_MAX_VERTICES often hid
this problem before.
Brian Paul [Tue, 3 Aug 2010 22:30:40 +0000 (16:30 -0600)]
gallium/translate: make generic_run() and generic_run_elts() more alike
Plus more debug code and do clamping in generic_run().
Brian Paul [Tue, 3 Aug 2010 22:21:57 +0000 (16:21 -0600)]
draw: added a comment
Brian Paul [Tue, 3 Aug 2010 20:13:13 +0000 (14:13 -0600)]
draw: use instance divisor in draw_print_arrays()
Brian Paul [Tue, 3 Aug 2010 20:12:47 +0000 (14:12 -0600)]
draw: add assertion, rearrange debug code
Marek Olšák [Sat, 31 Jul 2010 00:19:27 +0000 (02:19 +0200)]
st/dri: fix crash when dri2_drawable_get_buffers fails
It's easily reproducible with Compiz with its Resize window mode
set to Normal (which is usually not the default mode).
https://bugs.freedesktop.org/show_bug.cgi?id=28658
https://bugs.freedesktop.org/show_bug.cgi?id=29303
This is actually a workaround to prevent Compiz crashes.
Instead, a completely white titlebar might show up during resizing
transparent windows (a rare case).
The underlying cause should be fixed by someone who has more knowledge
about the code. (dri2_drawable_get_buffers should not return NULL)
Acked-By: Jakob Bornecrantz <jakob@vmware.com>
Marek Olšák [Sat, 31 Jul 2010 18:12:21 +0000 (20:12 +0200)]
mesa: increase the relative address offset limit to 4096 in ARB_vp/fp
Even though the spec says that the limits should be -64/+63, proprietary
drivers support much larger relative offsets and some applications do
depend on this non-standard behavior.
Also program_parse.tab.c has been regenerated.
This fixes the parser error:
ARB_vp: error: relative address offset too large
See also: https://bugs.freedesktop.org/show_bug.cgi?id=28628
4096 * sizeof(vec4) is the maximum size of the constant buffer on NV50.
It is not supposed to be a definite hardware limit, it is for the parser
not to get in the way and let the underlying driver decide whether it can
run the shader or not.
Jerome Glisse [Tue, 3 Aug 2010 21:45:51 +0000 (17:45 -0400)]
r600g: add polygon offset support
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Tue, 3 Aug 2010 21:02:48 +0000 (17:02 -0400)]
r600g: flush and resubmit if we reach limit
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Tue, 3 Aug 2010 20:15:17 +0000 (16:15 -0400)]
r600g: fix color target mask
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Zack Rusin [Tue, 3 Aug 2010 20:02:09 +0000 (16:02 -0400)]
gallium/draw: forgot about PIPE_PRIM_LINE_STRIP_ADJACENCY
Zack Rusin [Tue, 3 Aug 2010 19:56:17 +0000 (15:56 -0400)]
gallium/util: add extra primitives to the trimmer
Jerome Glisse [Tue, 3 Aug 2010 19:49:21 +0000 (15:49 -0400)]
r600g: fix stencil
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Tue, 3 Aug 2010 18:14:58 +0000 (14:14 -0400)]
r600g: fix LIT + fix multiple constant one ALU + fix ALU block splitting
Make sure LIT fills all slot for instruction (can't do W instruction
without having the Z slot filled with at least a NOP).
ALU instruction can't access more than 4 constant, move constant to
temporary reg if we reach the limit.
Fix ALU block splitting, only split ALU after ALU with last instruction
bit sets.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Tue, 3 Aug 2010 12:15:24 +0000 (14:15 +0200)]
r300g: handle polygon offset correctly
https://bugs.freedesktop.org/show_bug.cgi?id=29372
Vinson Lee [Tue, 3 Aug 2010 08:20:13 +0000 (01:20 -0700)]
st/mesa: Add forward declarations in st_atom_constbuf.h.
Vinson Lee [Tue, 3 Aug 2010 08:14:37 +0000 (01:14 -0700)]
st/mesa: Include glheader.h in st_atom.h.
Include glheader.h for GLenum symbol.
Vinson Lee [Tue, 3 Aug 2010 07:51:51 +0000 (00:51 -0700)]
mesa: Clean up header file inclusion in m_xform.h.
Include compiler.h for CONST symbol.
Remove config.h as m_xform.h uses no additional symbols from config.h.
Vinson Lee [Tue, 3 Aug 2010 07:41:19 +0000 (00:41 -0700)]
mesa: Reduce header file inclusion in m_translate.h.
m_translate.h does not use any additional symbols added by config.h.
Vinson Lee [Tue, 3 Aug 2010 07:33:04 +0000 (00:33 -0700)]
mesa: Include missing header in m_matrix.h.
Vinson Lee [Tue, 3 Aug 2010 07:19:26 +0000 (00:19 -0700)]
mesa: Reduce header file inclusion in texgen.h.
texgen.h doesn't use any symbols additionally added by mtypes.h.
Vinson Lee [Tue, 3 Aug 2010 07:04:14 +0000 (00:04 -0700)]
mesa: Reduce header file inclusion in texcompress_fxt1.h.
texcompress_fxt1.h doesn't use any additional symbols added by mtypes.h.
Vinson Lee [Tue, 3 Aug 2010 06:53:23 +0000 (23:53 -0700)]
mesa: Reduce header file inclusion in syncobj.h.
syncobj.h doesn't use any additional symbols that is added by context.h.
Jerome Glisse [Mon, 2 Aug 2010 21:41:52 +0000 (17:41 -0400)]
r600g: split alu block to conform to limit + RCP opcode
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Mon, 2 Aug 2010 18:21:33 +0000 (14:21 -0400)]
r600g: add autogenerated reg definition + debug print cleanup
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Mario Kleiner [Mon, 2 Aug 2010 02:17:03 +0000 (04:17 +0200)]
radeon: Add DRI2 flush extension support, so we synchronize properly.
When a DRI2 swap buffer is pending we need to make sure we
have the flush extension so radeon doesn't resume rendering to
or reading from the not yet blitted front buffer.
This fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28341
https://bugs.freedesktop.org/show_bug.cgi?id=28410
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Jerome Glisse [Mon, 2 Aug 2010 17:28:15 +0000 (13:28 -0400)]
Revert "radeon: Add DRI2 flush extension to so we synchronize properly."
This reverts commit
8446f257b3e3ca4a3eb2c79bc357e46343e04e87.
Marek Olšák [Mon, 2 Aug 2010 15:14:07 +0000 (17:14 +0200)]
r300g: fix hardlock when using more than one stuffed sprite coords
If texture coordinates come from the vertex shader, there are always
4 components in the rasterizer input packet, but if the coordinates
are stuffed (like for point sprites), there are only 2 or 3 components
(based on GB_ENABLE) and if we rasterize more, it locks up.
Mario Kleiner [Sun, 25 Jul 2010 14:29:24 +0000 (16:29 +0200)]
radeon: Add DRI2 flush extension to so we synchronize properly.
When DRI2 swap buffer is pending (copy buffer not pageflipping)
we need to make sure we have the flush extension so radeon doesn't
resume rendering on the not yet blitted front buffer.
Modified version of Jerome's patch to add flush extension
in the correct place.
This prepares a possible fix for:
https://bugs.freedesktop.org/show_bug.cgi?id=28341
https://bugs.freedesktop.org/show_bug.cgi?id=28410
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Kristian Høgsberg [Mon, 2 Aug 2010 13:47:44 +0000 (09:47 -0400)]
glx: Drop _Xglobal_lock while we create and initialize glx display
Andre Maasikas [Mon, 2 Aug 2010 12:11:22 +0000 (15:11 +0300)]
r600: fix sin,cos functions on r600
r600 doesnt need the same normalization as r700 - instead it requires
range to be truncated to -pi..pi
I left the range trunc also effective on r700 althouch according the docs
it has sufficent range (-512*PI, +512*PI). The instructions seem
to be used not too often to cause perf loss because of this
Based on patches and testing by Conn Clark and Alain Perrot
Michal Krol [Fri, 30 Jul 2010 14:59:05 +0000 (16:59 +0200)]
util: Fix unpacking of R8G8Bx_SNORM format.
Apparently, we must always use integers to perform calculations,
otherwise the results won't match D3D's CxV8U8 definition.
Dave Airlie [Mon, 2 Aug 2010 04:48:59 +0000 (14:48 +1000)]
r600g: add stencil op/func translation
Dave Airlie [Mon, 2 Aug 2010 04:46:17 +0000 (14:46 +1000)]
r600g: initial alpha test state
Dave Airlie [Mon, 2 Aug 2010 04:42:29 +0000 (14:42 +1000)]
r600g: add initial blend state.
migrates cb_cntl to be regenerated
Dave Airlie [Mon, 2 Aug 2010 04:53:31 +0000 (14:53 +1000)]
r600g: set correct tex coord type for rect textures.
Dave Airlie [Mon, 2 Aug 2010 04:31:49 +0000 (14:31 +1000)]
r600g: make r600_db_format static.
this isn't used anywhere else yet.
Dave Airlie [Sun, 1 Aug 2010 22:57:14 +0000 (08:57 +1000)]
draw: fix warning in sse code.
Not sure if this will actually fix the issue, but it fixes the warning.
Marek Olšák [Sun, 1 Aug 2010 14:42:53 +0000 (16:42 +0200)]
r300g: fix microtiling on RS6xx
Getting tiling right has always been tricky.
There are so many subtle details...
Vinson Lee [Sun, 1 Aug 2010 06:04:41 +0000 (23:04 -0700)]
mesa: Remove inclusion of compiler.h from mtypes.h.
mtypes.h does not use any symbols from compiler.h.
Also add the required headers for files that depended on symbols from
compiler.h but were indirectly including compiler.h through mtypes.h.