summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* r300: Don't disable destination read if the src blend factor needs itStefan Dösinger2012-12-071-2/+10
| | | | | | | | | | | The read can remain disabled if the src alpha factor needs it because the result would still be zero. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57984 NOTE: This is a candidate for stable release branches. Signed-off-by: Marek Olšák <[email protected]>
* gallium/egl-static: Fix unresolved symbol 'clock_gettime'.Michel Dänzer2012-12-071-2/+2
| | | | | Reviewed-by: Jose Fonseca <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* gallivm: Rudimentary native integer support.José Fonseca2012-12-072-5/+20
| | | | | | | | | Just enough for draw module to work ok. This improves "piglit attribs GL3", though something fishy is still happening with certain unsigned integer values. Reviewed-by: Brian Paul <[email protected]>
* draw: Dump LLVM shader key.José Fonseca2012-12-072-1/+33
| | | | | | Just like we do in llvmpipe for the fragment shader compilation key. Reviewed-by: Brian Paul <[email protected]>
* gallivm: Allow indirection from TEMP registers too.José Fonseca2012-12-071-3/+18
| | | | | | | | The ADDR file is cumbersome for native integer capable drivers. We should consider deprecating it eventually, but this just adds support for indirection from TEMP registers. Reviewed-by: Brian Paul <[email protected]>
* gallivm,llvmpipe,draw: Support multiple constant buffers.José Fonseca2012-12-0713-61/+103
| | | | | | | | | | | Support 16 (defined in LP_MAX_TGSI_CONST_BUFFERS) as opposed to 32 (as defined by PIPE_MAX_CONSTANT_BUFFERS) because that would make the jit context become unnecessarily large. v2: Bump limit from 4 to 16 to cover ARB_uniform_buffer_object needs, per Dave Airlie. Reviewed-by: Brian Paul <[email protected]>
* st/dri: implement MSAA for GLX/DRI2 framebuffersMarek Olšák2012-12-074-11/+110
| | | | | | | | | | | | | All MSAA buffers are allocated privately and resolved into the DRI-provided back and front buffers. If an MSAA visual is chosen, the buffers st/mesa receives are all multi-sample. st/mesa doesn't have access to the single-sample buffers in that case. This makes MSAA work in games like Nexuiz. Reviewed-by: Brian Paul <[email protected]>
* gallium: pass the current context to the flush_front state tracker functionMarek Olšák2012-12-079-12/+23
| | | | | | I will later use the context to resolve an MSAA front buffer. Reviewed-by: Brian Paul <[email protected]>
* st/dri: don't expose MSAA configs with accumulation bufferMarek Olšák2012-12-071-1/+13
| | | | Reviewed-by: Brian Paul <[email protected]>
* st/dri: refactor dri_fill_in_modesMarek Olšák2012-12-074-109/+45
| | | | | | | | | | - We can use a single loop for adding new configs. - The useless parameter depth_bits is removed. - The maximum number of samples is bumped to 32. - We can support Z16_UNORM and Z32_UNORM unconditionally since the zbuffers are private. Reviewed-by: Brian Paul <[email protected]>
* st/dri: always allocate private depth-stencil buffersMarek Olšák2012-12-071-59/+49
| | | | | | | | | | | | This disables DRI2 sharing of zbuffers. The window zbuffer is allocated just like any other texture - through resource_create. The idea of allocating a zbuffer through DRI2 isn't very useful with MSAA, where a single-sample zbuffer is useless. IIRC, the Intel driver does the same thing. Reviewed-by: Brian Paul <[email protected]>
* gallium/u_blitter: fix conflict with u_memory.hMarek Olšák2012-12-073-1/+7
| | | | Reviewed-by: Brian Paul <[email protected]>
* r600g: transfers of MSAA color textures should do the resolveMarek Olšák2012-12-071-5/+32
| | | | | | so that ReadPixels and various fallbacks work. Reviewed-by: Brian Paul <[email protected]>
* trace: dump pipe_resource::nr_samplesMarek Olšák2012-12-071-0/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* llvmpipe: fix regression in gears speed.Dave Airlie2012-12-071-2/+4
| | | | | | | This fixes the gears regression since transform feedback. Reported-by: Brian Paul <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* radeonsi: Fix cube texture coordinates.Michel Dänzer2012-12-061-0/+7
| | | | | | | 8 more piglits. Reviewed-by: Tom Stellard <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* radeon/llvm: Export prepare_cube_coords helper to driver.Michel Dänzer2012-12-062-8/+13
| | | | | | | To be used by radeonsi. Reviewed-by: Tom Stellard <[email protected]> Signed-off-by: Michel Dänzer <[email protected]>
* llvmpipe: Fix statement before declaration.José Fonseca2012-12-061-1/+2
|
* util: Add util_copy_box helper.José Fonseca2012-12-063-29/+64
| | | | | | Must users of util_copy_rect() need or should deal with volumes. Reviewed-by: Brian Paul <[email protected]>
* gallium/util: Move the util_copy/fill_rect into u_surface.José Fonseca2012-12-065-187/+140
| | | | | | | | | | u_rect.h said these should move to a different file, and u_surface seems a better home. Leave #include "util/u_surface.h" to avoid having to touch thousand of files. Reviewed-by: Brian Paul <[email protected]>
* gallium/os: Cleanup up os_time_get/os_time_get_nano.José Fonseca2012-12-062-21/+19
| | | | | | | | - Re-implement os_time_get in terms of os_time_get_nano() for consistency - Use CLOCK_MONOTONIC as recommended - Only use clock_gettime on Linux for now. Reviewed-by: Brian Paul <[email protected]>
* gallium/os: Fix os_time_sleep() on Windows for small durations.José Fonseca2012-12-061-1/+5
| | | | | | Prevents undetermined sleeps. Reviewed-by: Brian Paul <[email protected]>
* gallivm: Fix lerping of (un)signed normalized numbers.José Fonseca2012-12-061-49/+43
| | | | | | | | | | | | | | | | | | Several issues actually: - Fix a regression in unsigned normalized in the rescaling [0, 255] to [0, 256] - Ensure we use signed shifts where appropriate (instead of unsigned shifts) - Refactor the code slightly -- move all the logic inside lp_build_lerp_simple(). This change, plus an adjustment in the tolerance of signed normalized results in piglit fbo-blending-formats fixes bug 57903 Reviewed-by: Brian Paul <[email protected]>
* gallivm: Fix lp_build_print_value of smaller integer types.José Fonseca2012-12-061-1/+12
| | | | | | | They need to be converted to the native integer type to prevent garbage in higher order bits from being printed. Reviewed-by: Brian Paul <[email protected]>
* llvmpipe: remove unused variableBrian Paul2012-12-061-1/+0
|
* draw: remove some dead constant buffer codeBrian Paul2012-12-064-82/+0
| | | | | | | | | Remove the draw_vs_set_constants() and draw_gs_set_constants() functions and the draw->vs.aligned_constants, draw->vs.aligned_constant_storage and draw->vs.const_storage_size fields. None of it was used. Reviewed-by: José Fonseca <[email protected]>
* llvmpipe: EXT_transform_feedback support (v1.1)Dave Airlie2012-12-0615-101/+125
| | | | | | | | | | | | I'd written most of this ages ago, but never finished it off. This passes 115/130 piglit tests so far. I'll look into the others as time permits. v1.1: fix calloc return check as suggested by Jose. Reviewed-by: Jose Fonseca <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600g: use default action for min/max opcode in tgsi to llvmVincent Lejeune2012-12-051-4/+0
| | | | Reveiwed-by: Tom Stellard <thomas.stellard at amd.com>
* gallivm: Have a default emit function for min/max opcodeVincent Lejeune2012-12-051-0/+29
| | | | Reveiwed-by: Tom Stellard <thomas.stellard at amd.com>
* r600g: use default action for fdiv/rcp opcodeVincent Lejeune2012-12-051-6/+1
| | | | Reveiwed-by: Tom Stellard <thomas.stellard at amd.com>
* gallivm: have a default emit function for fdiv/rcpVincent Lejeune2012-12-051-0/+25
| | | | Reveiwed-by: Tom Stellard <thomas.stellard at amd.com>
* r600g: Use default mul/mad function for tgsi-to-llvmVincent Lejeune2012-12-051-8/+4
| | | | Reveiwed-by: Tom Stellard <thomas.stellard at amd.com>
* draw: set precalc_flat flag for AA lines tooBrian Paul2012-12-051-0/+1
| | | | | | | | | Fixes flat shading for AA lines. demos/src/trivial/line-smooth is a test case which hits this. Note: This is a candidate for the stable branches. Reviewed-by: Jose Fonseca <[email protected]>
* scons: Require drm to build gallium/state_trackers/egl/x11/x11_screen.c.Vinson Lee2012-12-041-2/+4
| | | | | | | | | | | | x11_screen.c includes xf86drm.h, which comes from libdrm-dev. This patch fixes this build error. Compiling src/gallium/state_trackers/egl/x11/x11_screen.c ... src/gallium/state_trackers/egl/x11/x11_screen.c:30:21: fatal error: xf86drm.h: No such file or directory Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* gallivm: Re-add the kludge for lp_build_lerp of fixed point types.José Fonseca2012-12-041-1/+5
| | | | | | | I removed it in commit 7d44d354bdba853e453ce3991396e2b0933468f4 but texture sample code still relies on it. Not sure how to this cleanly, so put it pack for now.
* util/u_debug: Cleanup/fix debug_dump_image.José Fonseca2012-12-042-33/+27
| | | | | | | - Handle other formats. - Prevent CRLF on Windows. Reviewed-by: Brian Paul <[email protected]>
* translate: Fix the fetch function assertions.José Fonseca2012-12-041-1/+3
| | | | | | fetch_rgba_float is NULL for integer formats, and vice-versa. Reviewed-by: Brian Paul <[email protected]>
* util/u_draw: Skip rendering instead of aborting when excessive number of ↵José Fonseca2012-12-041-2/+9
| | | | | | | | | | | | instances is found. This is a temporary hack. I believe the only way of properly fixing this is to check buffer overflow just before fetching based on addresses, instead of number of vertices/instances. This change simply allows tests that stress buffer overflows to complete without asserting, and should not affect valid rendering. Reviewed-by: Brian Paul <[email protected]>
* draw: Properly limit vertex buffer fetches on draw arrays.José Fonseca2012-12-041-1/+1
| | | | | | | | | | | We need to clamp vertex buffer fetch based on its size, not based on the user specified max index hint. This matches draw_pt_fetch_run() above. NOTE: This is a candidate for the stable branches. Reviewed-by: Brian Paul <[email protected]>
* draw: Use symbolic primitive names in debug output.José Fonseca2012-12-041-3/+4
| | | | Reviewed-by: Brian Paul <[email protected]>
* draw: Consider the geometry shader when choosing the vertex size.José Fonseca2012-12-041-3/+6
| | | | | | | A single vertex size is chosen for the whole pipeline. So the number of geometry shader outputs must also be taken in consideration. Reviewed-by: Brian Paul <[email protected]>
* tgsi: Allow TXF from buffers.José Fonseca2012-12-041-0/+1
| | | | | | | There is more work necessary to properly support buffers in shaders, but this gets things a bit further along. Reviewed-by: Brian Paul <[email protected]>
* util/surface: Always use the surface format when clearing.José Fonseca2012-12-041-7/+8
| | | | | | Not the texture format, as they might differ. Reviewed-by: Brian Paul <[email protected]>
* tgsi: Increase maximum number of temps to 4096.José Fonseca2012-12-041-1/+1
| | | | | | | To match Shader Model 4 limits, as specified in http://msdn.microsoft.com/en-us/library/windows/desktop/ff471378.aspx Reviewed-by: Brian Paul <[email protected]>
* llvmpipe: Fix alignment.José Fonseca2012-12-041-0/+5
| | | | | | | | | My understanding and actual implementation of how the pixels are being fetch differed. This fixes bug 57863. Trivial.
* gallivm: Generalize lp_build_mul and lp_build_lerp for signed normalized types.José Fonseca2012-12-041-92/+82
| | | | | | | | This fixes fdo bug 57755 and most of the failures of piglit fbo-blending-formats GL_EXT_texture_snorm. GL_INTENSITY_SNORM is still failing, but problem is probably elsewhere, as GL_R8_SNORM works fine.
* automake/gallium: attempt to fix -lrtDave Airlie2012-12-041-1/+1
| | | | | | | | | fix non-automake bits in pipe-load to. Should fix: http://bugs.freedesktop.org/57852 Signed-off-by: Dave Airlie <[email protected]>
* u_cache: fix dereference before NULL checkDave Airlie2012-12-041-4/+4
|
* gallium/auxiliary: Add -fno-rtti to CXXFLAGS on LLVM >= 3.2.Johannes Obermayr2012-12-031-1/+5
| | | | | | | | Also remove the recently added and overloaded LLVM_CXXFLAGS from CXXFLAGS. Note: This is a candidate for the stable branches. Reviewed-by: Tom Stellard <[email protected]>
* r300g: Give CLIP_DISABLE another tryStefan Dösinger2012-12-042-2/+3
| | | | Signed-off-by: Marek Olšák <[email protected]>