Chia-I Wu [Fri, 6 Aug 2010 08:57:04 +0000 (16:57 +0800)]
draw: Avoid mixed declarations and code.
Do not expand LOCAL_VARS to void expression. Otherwise, declarations
and code will be mixed when more variables are declared in FUNC_ENTER.
This fixes fdo bug #29416.
Vinson Lee [Fri, 6 Aug 2010 08:04:19 +0000 (01:04 -0700)]
swrast: Reduce header file inclusion in s_aatriangle.h.
Include mtypes.h for GLcontext symbol.
Vinson Lee [Fri, 6 Aug 2010 07:57:52 +0000 (00:57 -0700)]
swrast: Reduce header file inclusion in s_aaline.h.
Include mtypes.h for GLcontext symbol.
Vinson Lee [Fri, 6 Aug 2010 06:58:00 +0000 (23:58 -0700)]
r300g: Remove unnecessary headers.
Dave Airlie [Fri, 6 Aug 2010 05:29:50 +0000 (15:29 +1000)]
r600g: start to fix up multiple targets.
fixup exports from pixel shader for multi-cbs + depth buffer writing.
Still crashes GPU running any of the multi-buffer or depth writing
Chia-I Wu [Wed, 4 Aug 2010 06:37:40 +0000 (14:37 +0800)]
draw: Remove unnecessary vertex flag ANDs.
Vertex flags are a contract between vcache and the pipeline. They are
set only for the first vertex of a primitive.
Chia-I Wu [Wed, 4 Aug 2010 06:39:16 +0000 (14:39 +0800)]
draw: Mask out vertex flags in GS and stream output.
This fixes out-of-bound access to the vertices.
Chia-I Wu [Sun, 1 Aug 2010 17:38:58 +0000 (01:38 +0800)]
draw: Include draw_decompose_tmp.h in draw_pt_decompose.h.
Use draw_decompose_tmp.h to replace pipeline primitive decomposer.
Chia-I Wu [Sun, 1 Aug 2010 17:38:58 +0000 (01:38 +0800)]
draw: Include draw_decompose_tmp.h in draw_so_emit_tmp.h.
Use draw_decompose_tmp.h to replace stream out primitive decomposer.
Chia-I Wu [Sun, 1 Aug 2010 17:38:58 +0000 (01:38 +0800)]
draw: Include draw_decompose_tmp.h in draw_gs_tmp.h.
Use draw_decompose_tmp.h to replace GS primitive decomposer.
Chia-I Wu [Sun, 1 Aug 2010 17:21:08 +0000 (01:21 +0800)]
draw: Include draw_decompose_tmp.h in draw_pt_vcache_tmp.h.
Use draw_decompose_tmp.h to replace vcache primitive decomposer. As the
new decomposer supports primitives with adjacency, vcache_triangle_adj
and vcache_line_adj (and their variants that have flags) are added.
Chia-I Wu [Sun, 1 Aug 2010 13:29:36 +0000 (21:29 +0800)]
draw: Add draw_decompose_tmp.h.
Including draw_decompose_tmp.h defines a primitive decomposer. It is
intended to replace the existing vcache/so/gs/pipe decomposers.
This is based on draw_pt_vcache_tmp.h.
Dave Airlie [Fri, 6 Aug 2010 05:21:44 +0000 (15:21 +1000)]
r600g: add SRGB support.
This enables GL2.1 and passes glean's texture_srgb test.
Dave Airlie [Fri, 6 Aug 2010 05:06:25 +0000 (15:06 +1000)]
r600g: fixup z format translations.
this enables GL_EXT_packed_depth_stencil. fbo-d24s8 passes
Dave Airlie [Fri, 6 Aug 2010 04:54:24 +0000 (14:54 +1000)]
r600g: fix targetmask to work correctly.
At least this seems to fix the glean maskedClear test.
Dave Airlie [Fri, 6 Aug 2010 04:53:38 +0000 (14:53 +1000)]
r600g: improve supported format selection.
This fixes fbo-readpixels piglit test, and adds support for swapping
the formats. Not all formats are correct yet I don't think.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Fri, 6 Aug 2010 01:44:31 +0000 (11:44 +1000)]
r600g: add bo wait after map.
Vinson Lee [Fri, 6 Aug 2010 01:21:09 +0000 (18:21 -0700)]
st/mesa: Clean up header file inclusion in st_program.h.
st_program.h
Remove p_shader_tokens.h
Include st_context.h for st_context symbol.
Include p_state.h for PIPE_MAX_SHADER_INPUTS symbol.
Remove unnecessary forward declarations.
st_cb_bitmap.c
st_cb_clear.c
Include p_shader_tokens.h now that st_program.h doesn't include it.
Marek Olšák [Thu, 5 Aug 2010 23:08:12 +0000 (01:08 +0200)]
r300g: do not emit GB_Z_PEQ_CONFIG on non-r500 if DRM < 2.6.0
Jakob Bornecrantz [Fri, 6 Aug 2010 00:52:39 +0000 (17:52 -0700)]
tgsi: Fix typo, so we follow what is in the comments
Jakob Bornecrantz [Fri, 6 Aug 2010 00:44:05 +0000 (17:44 -0700)]
tgsi: Add option to stop the sanity checker from printing
Jakob Bornecrantz [Fri, 6 Aug 2010 00:21:49 +0000 (17:21 -0700)]
util: Add option to not dump cpu caps
Jakob Bornecrantz [Fri, 6 Aug 2010 00:14:38 +0000 (17:14 -0700)]
st/mesa: Only get debug option once
Jakob Bornecrantz [Fri, 6 Aug 2010 00:13:41 +0000 (17:13 -0700)]
st/mesa: Only get mesa mvp dp4 option once
The correct for this is of course to do what comment says
Jakob Bornecrantz [Fri, 6 Aug 2010 00:12:54 +0000 (17:12 -0700)]
llvmpipe: Only get no rast option once
Jakob Bornecrantz [Fri, 6 Aug 2010 00:11:46 +0000 (17:11 -0700)]
gallivm: Only get debug option once
Vinson Lee [Fri, 6 Aug 2010 00:13:15 +0000 (17:13 -0700)]
st/mesa: Clean up header file inclusion in st_mesa_to_tgsi.h.
st_mesa_to_tgsi.h
Replace tgsi_ureg.h with a forward declaration.
Include p_compiler.h for ubyte symbol.
st_program.c
Include tgsi_ureg.h directly.
Luca Barbieri [Thu, 5 Aug 2010 22:58:48 +0000 (00:58 +0200)]
nvfx: fix nv30 vertex program scalar opcodes
Apparently they have always been broken, even before unification.
Fixes a lot of stuff, starting from morph3d and lighting in teapot
with textures disabled.
Luca Barbieri [Thu, 5 Aug 2010 11:07:41 +0000 (13:07 +0200)]
nvfx: shut up unknown cap 64 warning
Vinson Lee [Thu, 5 Aug 2010 23:20:07 +0000 (16:20 -0700)]
st/mesa: Clean up header file inclusion in st_manager.h.
Include mtypes.h for GLcontext, gl_buffer_index, and GLframebuffer
symbols.
Include p_compiler.h for boolean symbol.
Include st_context.h in st_cb_eglimage.c as it previously included
st_context.h indirectly through st_manager.h.
Brian Paul [Thu, 5 Aug 2010 22:38:22 +0000 (16:38 -0600)]
glsl: fix atan(0, -1)
Fixes fd.o bug 29388
NOTE: this is a candidate for the 7.8 branch.
Alex Deucher [Thu, 5 Aug 2010 21:42:29 +0000 (17:42 -0400)]
r600c: tiling require drm 2.6.0, not 2.5.0
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>