Jerome Glisse [Tue, 10 Aug 2010 15:52:00 +0000 (11:52 -0400)]
r600g: avoid reemiting literal, avoid scheduling empty cs
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
José Fonseca [Tue, 10 Aug 2010 15:32:29 +0000 (16:32 +0100)]
util: Add util_format_srgb().
To convert RGB -> SRGB format.
Brian Paul [Tue, 10 Aug 2010 14:56:20 +0000 (08:56 -0600)]
gallivm: fix non-SSE4.1 case in lp_build_pack2()
Since there's no SSE instruction for this case, fall through to the
generic shuffle code.
Fixes bug fd.o 29468.
Brian Paul [Tue, 10 Aug 2010 14:38:12 +0000 (08:38 -0600)]
mesa: additional program limit assertions
Brian Paul [Tue, 10 Aug 2010 14:35:47 +0000 (08:35 -0600)]
mesa: fix comment typo
nobled [Mon, 9 Aug 2010 21:25:18 +0000 (21:25 +0000)]
gallivm: Fix bitwise operations for floats, division for integers
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
nobled [Mon, 9 Aug 2010 21:15:08 +0000 (21:15 +0000)]
gallivm: Even more type checking
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
nobled [Fri, 6 Aug 2010 17:32:29 +0000 (17:32 +0000)]
llvmpipe: Always use floating-point operators for floating-point types
See:
http://bugs.freedesktop.org/29404
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Henri Verbeet [Mon, 9 Aug 2010 19:06:02 +0000 (15:06 -0400)]
radeon: Use MESA_FORMAT_SARGB8 for sRGB formats
This can be supported on r600 without using the endian swapper, and is a
better fit for (typical) uploads using GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV
anyway.
Henri Verbeet [Mon, 9 Aug 2010 19:03:27 +0000 (15:03 -0400)]
r600c: Disable alpha test during blits
José Fonseca [Mon, 9 Aug 2010 16:30:33 +0000 (17:30 +0100)]
gallivm: More type checks.
José Fonseca [Mon, 9 Aug 2010 16:26:18 +0000 (17:26 +0100)]
gallivm: Don't call LLVMBuildFNeg on llvm-2.6.
It didn't exist yet.
nobled [Sun, 8 Aug 2010 19:44:54 +0000 (19:44 +0000)]
gallivm: Always use floating-point operators for floating-point types
This fixes the assert added in LLVM 2.8:
assert(getType()->isIntOrIntVectorTy() &&
"Tried to create an integer operation on a non-integer type!")
But it also fixes some subtle bugs, since we should've been doing this
since LLVM 2.6 anyway.
Includes a modified patch from steckdenis@yahoo.fr for the
FNeg instructions in emit_fetch(); thanks for pointing those out.
http://bugs.freedesktop.org/29404
http://bugs.freedesktop.org/29407
Signed-off-by: José Fonseca <jfonseca@vmware.com>
José Fonseca [Mon, 9 Aug 2010 15:41:44 +0000 (16:41 +0100)]
util: Move _mm_shuffle_epi8() to u_sse.h.
It's bound to be useful elsewhere.
Jerome Glisse [Mon, 9 Aug 2010 15:32:45 +0000 (11:32 -0400)]
r600g: fix r600 context structure, avoid segfault when no scissor
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Marek Olšák [Mon, 9 Aug 2010 15:15:37 +0000 (17:15 +0200)]
r300g: do not print shader compiler errors by default
Marek Olšák [Mon, 9 Aug 2010 12:57:56 +0000 (14:57 +0200)]
r600g: fix some warnings
Marek Olšák [Mon, 9 Aug 2010 12:53:58 +0000 (14:53 +0200)]
r600g: fill out some missing caps and sort them
The shader caps need additional corrections.
(based on a patch from netkas at Phoronix)
Andre Maasikas [Mon, 9 Aug 2010 11:37:01 +0000 (14:37 +0300)]
radeon: fix npot mipmap alignment on r600
seems it got lost in commit
0d383547
have no earlier radeons to test, but npot mipmaps were not supported there?
Andre Maasikas [Mon, 9 Aug 2010 11:28:00 +0000 (14:28 +0300)]
r600: bump glsl version
from the tests i couldn't find any new driver faults
Dave Airlie [Mon, 9 Aug 2010 09:56:45 +0000 (19:56 +1000)]
r300g: fix hiz/zmask offset emissions.
ofs is in dwords, so need to shift it for registers.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Luca Barbieri [Mon, 9 Aug 2010 02:56:03 +0000 (04:56 +0200)]
nouveau: fix maps with PIPE_TRANSFER_UNSYNCHRONIZED | PIPE_TRANSFER_DONTBLOCK
In this case, we were incorrectly prioritizing PIPE_TRANSFER_DONTBLOCK over
PIPE_TRANSFER_UNSYNCHRONIZED.
This can lead to failure in the Mesa VBO draw paths that end up specifying
both, but don't expect map to fail (in particular, the problem manifested as
a leak of buffer objects in teapot with other changes).
Marek Olšák [Sun, 8 Aug 2010 21:09:46 +0000 (23:09 +0200)]
r300g: remove a flush
Ooops, it wasn't supposed to be there.
José Fonseca [Sun, 8 Aug 2010 21:18:53 +0000 (22:18 +0100)]
gallivm: Fix more integer operations.
nobled [Sun, 8 Aug 2010 20:17:30 +0000 (20:17 +0000)]
gallivm: Use the correct context for integers
See:
http://bugs.freedesktop.org/29407
Marek Olšák [Sun, 8 Aug 2010 16:43:42 +0000 (18:43 +0200)]
r300g: flush zmasks of zbuffers we are going to use as samplers
It sometimes works, sometimes not. I guess we have the zmask offsets wrong.
Marek Olšák [Sun, 8 Aug 2010 16:21:53 +0000 (18:21 +0200)]
r300g: do not allocate a zmask block for 3D textures and cubemaps
Marek Olšák [Sat, 7 Aug 2010 00:05:03 +0000 (02:05 +0200)]
r300g: generalize the way we ask for hyperz
This makes it compatible with the modified DRM interface in drm-radeon-testing.
Also, now you need to set RADEON_HYPERZ=1 to be able to use hyperz.
It's not bug-free yet.
José Fonseca [Sun, 8 Aug 2010 20:02:59 +0000 (21:02 +0100)]
gallivm: Add type checks for the basic operations.
José Fonseca [Sun, 8 Aug 2010 12:58:23 +0000 (13:58 +0100)]
draw: Remove unused variable.
nobled [Fri, 6 Aug 2010 17:36:41 +0000 (17:36 +0000)]
draw: Use the correct type for integers
Two integers were being operated on as
a vector of floats in draw_llvm_generate().
This bug got uncovered by fixing this bug:
http://bugs.freedesktop.org/29407
Dave Airlie [Sun, 8 Aug 2010 09:12:14 +0000 (19:12 +1000)]
r300g: take hiz/zmask offsets into a/c when clearing.
Need to add a test for multi-hiz/zmask db in a single context.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Vinson Lee [Sun, 8 Aug 2010 06:38:20 +0000 (23:38 -0700)]
i810: Add missing header m_xform.h.
This is another follow-up to commit
f4511c4835879090ce7e6afe3ac26b98fb91899a.
Vinson Lee [Sun, 8 Aug 2010 06:19:27 +0000 (23:19 -0700)]
dri: Add missing header m_xform.h.
This is a follow-up patch to commit
f4511c4835879090ce7e6afe3ac26b98fb91899a.
Files that include tnl_dd/t_dd_dmatmp.h now need to also include
m_xform.h as t_context.h no longer includes it.
Vinson Lee [Sun, 8 Aug 2010 05:56:35 +0000 (22:56 -0700)]
tnl: Reduce header file inclusion in t_context.h.
t_context.h
Remove m_matrix.h and m_xform.h.
t_vb_program.c
Include m_xform.h.
t_vb_render.c
Include m_xform.h.
Vinson Lee [Sun, 8 Aug 2010 05:13:19 +0000 (22:13 -0700)]
swrast: Reduce header file inclusion in s_zoom.h.
Include mtypes.h for GLcontext symbol.
Include s_span.h for SWspan symbol.
Vinson Lee [Sun, 8 Aug 2010 05:05:28 +0000 (22:05 -0700)]
swrast: Fix header file inclusion in s_texfilter.h.
Include mtypes.h for GLcontext symbol.
Include s_context.h for texture_sample_func symbol.
Vinson Lee [Sun, 8 Aug 2010 05:01:27 +0000 (22:01 -0700)]
swrast: Reduce header file inclusion in s_texcombine.h.
Include mtypes.h for GLcontext sybmol.
Include s_span.h for SWspan symbol.
Vinson Lee [Sun, 8 Aug 2010 04:44:53 +0000 (21:44 -0700)]
swrast: Reduce header file inclusion in s_stencil.h.
Include mtypes.h for GLcontext symbol.
Include s_span.h for SWspan symbol.
Vinson Lee [Sun, 8 Aug 2010 04:24:16 +0000 (21:24 -0700)]
swrast: Reduce header file inclusion in s_masking.h.
Include mtypes.h for GLcontext symbol.
Include s_span.h for SWspan symbol.
Vinson Lee [Sun, 8 Aug 2010 04:07:11 +0000 (21:07 -0700)]
swrast: Reduce header file inclusion in s_logic.h.
Include mtypes.h for GLcontext symbol.
Include s_span.h for SWspan symbol.
Vinson Lee [Sun, 8 Aug 2010 04:01:12 +0000 (21:01 -0700)]
swrast: Reduce header file inclusion in s_fragprog.h.
s_fragprog.h
Include mtype.h for GLcontext symbol.
Include s_span.h for SWspan symbol.
s_fragprog.c
Include s_context.h now that it is removed from s_fragprog.h.
Vinson Lee [Sat, 7 Aug 2010 20:57:50 +0000 (13:57 -0700)]
swrast: Reduce header file inclusion in s_fog.h.
Include mtypes.h for GLcontext symbol.
Include s_span.h for SWspan symbol.
Vinson Lee [Sat, 7 Aug 2010 20:04:50 +0000 (13:04 -0700)]
swrast: Clean up header file inclusion in s_depth.h.
Include mtypes.h for GLcontext symbol.
Include s_span.h for SWspan symbol.
Vinson Lee [Sat, 7 Aug 2010 19:44:58 +0000 (12:44 -0700)]
swrast: Include missing header in s_context.h.
Include compiler.h for _ASMAPIP symbol.
Vinson Lee [Sat, 7 Aug 2010 19:36:50 +0000 (12:36 -0700)]
swrast: Clean up header file inclusion in s_blend.h.
Include mtypes.h for GLcontext symbol.
Include s_span.h for SWspan symbol.
Vinson Lee [Sat, 7 Aug 2010 19:25:20 +0000 (12:25 -0700)]
swrast: Clean up header file inclusion in s_atifragshader.h.
s_atifragshader.h
Include mtypes.h for GLcontext symbol.
Include s_span.h for SWspan symbol.
s_atifragshader.c
Include s_context.h for SWcontext symbol.
Vinson Lee [Sat, 7 Aug 2010 19:19:29 +0000 (12:19 -0700)]
swrast: Clean up header file inclusion in s_alpha.h.
Include mtypes.h for GLcontext symbol.
Include s_span.h for SWspan symbol.
Marek Olšák [Sat, 7 Aug 2010 16:10:07 +0000 (18:10 +0200)]
r300c: do not advertise half float vertex on RV3xx, RS4xx, RC4xx
Fixes a hardlock.
NOTE: this is a candidate for the 7.8 branch, provided the half float vertex
is really implemented there.
Vinson Lee [Sat, 7 Aug 2010 01:45:15 +0000 (18:45 -0700)]
st/mesa: Remove unnecessary header.
Marek Olšák [Fri, 6 Aug 2010 23:59:31 +0000 (01:59 +0200)]
r300g: fix cbzb clears when hyperz is off
Maarten Maathuis [Fri, 6 Aug 2010 21:56:31 +0000 (23:56 +0200)]
nouveau: fix potential NULL-ptr dereference in nouveau_stateobj.h
- This can only be triggered when DEBUG_NOUVEAU_STATEOBJ is active.
- Also remove a redundant pointer assignment.
Reported-by: Roy Spliet <r.spliet@student.tudelft.nl>
Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
Jerome Glisse [Fri, 6 Aug 2010 21:27:36 +0000 (17:27 -0400)]
r600g: add PA_CL_CLIP_CNTL definition
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Fri, 6 Aug 2010 21:22:45 +0000 (17:22 -0400)]
r600g: fix rendering, only enable target we write too
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Fri, 6 Aug 2010 21:12:37 +0000 (17:12 -0400)]
r600g: really fix multi target support
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Brian Paul [Fri, 6 Aug 2010 21:09:51 +0000 (15:09 -0600)]
st/mesa: remove stray semicolons
Brian Paul [Fri, 6 Aug 2010 21:09:41 +0000 (15:09 -0600)]
gallium: remove stray semicolons
Jerome Glisse [Fri, 6 Aug 2010 20:10:25 +0000 (16:10 -0400)]
r600g: finish multi target rendering support
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Vinson Lee [Fri, 6 Aug 2010 18:45:52 +0000 (11:45 -0700)]
targets/egl: Fix build by including missing headers.
Chia-I Wu [Fri, 6 Aug 2010 16:50:32 +0000 (00:50 +0800)]
draw: Add an assertion to varray's version of trim().
Assert that "first" is always smaller than "count" and add reasoning.
It would be better to simply fix trim(), but it is used in tight loops
right now.
Chia-I Wu [Fri, 6 Aug 2010 14:50:09 +0000 (22:50 +0800)]
draw: Fix draw_pt_split_prim for primitives with adjacency.
Some primitives with adjacency have their "incr" wrong.
Chia-I Wu [Sat, 7 Aug 2010 08:14:50 +0000 (02:14 -0600)]
draw: Assert that only the first vetex may have flags set.
642d5ba79abc6a231a5fdabb3454b9b082b0d7f8 removed flags masking for
vertices other than the first one. Add assertions to be on the safe
side.
Jerome Glisse [Fri, 6 Aug 2010 15:28:33 +0000 (11:28 -0400)]
r600g: fix color format, indentation, defines
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jerome Glisse [Fri, 6 Aug 2010 14:59:27 +0000 (10:59 -0400)]
Revert "r600g: don't use dynamic state allocation for states"
This reverts commit
9c949d4a4dd43b7889e13bdf683bcf211f049ced.
Conflicts:
src/gallium/drivers/r600/r600_context.h
src/gallium/drivers/r600/r600_draw.c
src/gallium/drivers/r600/r600_shader.c
src/gallium/drivers/r600/r600_state.c
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>