summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* gallium/cso: don't use the pipe_error return type where it's not neededMarek Olšák2012-12-122-41/+24
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium: manage render condition in cso_context and fix postprocessing w/ itMarek Olšák2012-12-125-0/+40
| | | | Reviewed-by: Brian Paul <[email protected]>
* softpipe: implement seamless cubemap support. (v1.1)Dave Airlie2012-12-122-9/+139
| | | | | | | | | | | | | | | | | This adds seamless sampling for cubemap boundaries if requested. The corner case averaging is messy but seems like it should be spec compliant. The face direction stuff is also a bit messy, I've no idea if that could or should be simpler, or even if all my directions are fully correct! v1.1: update comments, drop unneeded seamless calls for nearest, fix if statement layout. Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* gallium: fix cap warnings for tbo cap.Dave Airlie2012-12-123-0/+3
| | | | Signed-off-by: Dave Airlie <[email protected]>
* llvmpipe: don't use user constant buffersBrian Paul2012-12-111-1/+2
| | | | | | | This fixes some use-after-free issues. I haven't measured any real performance difference with a handful of Mesa demos. Reviewed-by: Jose Fonseca <[email protected]>
* llvmpipe: support pipe_resource-based constant buffersBrian Paul2012-12-117-34/+48
| | | | | | | | | | | | | | | | Before this we only supported user-based constant buffers. First, we basically plumb pipe_constant_buffer objects through llvmpipe rather than pipe_resource objects. Second, update llvmpipe_set_constant_buffer() and try_update_scene_state() so they understand both resource- and user-based constant buffers. The problem with user constant buffers is the potential for use-after-free, as seen in some WebGL tests. The next patch will flip the switch for resource-based const buffers. Reviewed-by: Jose Fonseca <[email protected]>
* util: add util_copy_constant_buffer() helper functionBrian Paul2012-12-111-0/+20
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* st/egl/drm: only unref the udev device if neededTobias Droste2012-12-111-4/+5
| | | | | | | | | | | Fixes compiler warning: drm/native_drm.c: In function ‘native_create_display’: drm/native_drm.c:180:21: warning: ‘device’ may be used uninitialized in this function [-Wmaybe-uninitialized] drm/native_drm.c:157:24: note: ‘device’ was declared here Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* softpipe: Use os_time_get_nano() everywhere.José Fonseca2012-12-112-5/+5
|
* clover: Install CL headers.Johannes Obermayr2012-12-101-0/+10
| | | | Note: This is a candidate for the stable branches.
* gallivm: Lower TGSI_OPCODE_MUL to fmul by defaultTom Stellard2012-12-101-2/+3
| | | | | | | This fixes a number of crashes on r600g due to the fact that lp_build_mul assumes vector types when optimizing mul to bit shifts. This bug was uncovered by 0ad1fefd6951aa47ab58a41dc9ee73083cbcf85c
* llvmpipe: fix txq for 1d/2d arrays. (v3)Dave Airlie2012-12-111-2/+15
| | | | | | | | | | | | | | | | | Noticed would fail, we were doing two things wrong a) 1d arrays require the layers in height b) minifying the layers field. v2: don't change height code, fixup completely inside txq as suggested by Roland. v3: just add minify before texture array size v1: Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* llvmpipe: increase texture target width to reflect increaseDave Airlie2012-12-111-1/+1
| | | | | | | Now that we've gone over 7. Reviewed-by: Jose Fonseca <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* vega: remove unused variablesFabio Pedretti2012-12-101-3/+1
| | | | Signed-off-by: Brian Paul <[email protected]>
* nvc0: comment unused nvc0_validate_zcull functionFabio Pedretti2012-12-101-0/+2
| | | | Signed-off-by: Brian Paul <[email protected]>
* nv50: remove unused OpClassStr arrayFabio Pedretti2012-12-101-20/+0
| | | | Signed-off-by: Brian Paul <[email protected]>
* nvc0/ir: allow neg,abs modifiers on OP_SET with integer resultChristoph Bumiller2012-12-081-0/+4
|
* nvc0/ir/emit: fix check for flags register use in logic opsChristoph Bumiller2012-12-081-3/+3
|
* draw: fix/improve dirty state validationBrian Paul2012-12-088-23/+68
| | | | | | | | | | | | | | | | | | | | This patch does two things: 1. Constant buffer state changes were broken (but happened to work by dumb luck). The problem is we weren't calling draw_do_flush() in draw_set_mapped_constant_buffer() when we changed that state. All the other draw_set_foo() functions were calling draw_do_flush() already. 2. Use a simpler state validation step when we're changing light-weight parameter state such as constant buffers, viewport dims or clip planes. There's no need to revalidate the whole pipeline when changing state like that. The new validation method is called bind_parameters() and is called instead of the prepare() method. A new DRAW_FLUSH_PARAMETER_CHANGE flag is used to signal these light-weight state changes. This results in a modest but measurable increase in FPS for many Mesa demos. Reviewed-by: Jose Fonseca <[email protected]>
* draw: add reminder comments about similar code in different filesBrian Paul2012-12-082-0/+11
| | | | | | | | When one function is changed, also look at the other. Presently, there are some differences with respect to geometry shaders and instanced drawing... Reviewed-by: Jose Fonseca <[email protected]>
* draw: rearrange code in llvm_middle_end_prepare()Brian Paul2012-12-081-66/+74
| | | | | | | To clean it up and make it look more like the non-LLVM fetch_pipeline_prepare() function. Reviewed-by: Jose Fonseca <[email protected]>
* draw: fix comment typoBrian Paul2012-12-081-1/+1
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* draw: add comment on draw->pt.opt fieldBrian Paul2012-12-081-1/+1
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* draw: update a comment about index buffersBrian Paul2012-12-081-3/+2
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* gallium/os: Fix nano->micro second concersion.José Fonseca2012-12-081-1/+1
| | | | | | copy'n'paste: best friend, worst enemy.. Trivial.
* llvmpipe: fix missing tbo cap warning.Dave Airlie2012-12-081-0/+1
| | | | Signed-off-by: Dave Airlie <[email protected]>
* softpipe: enable GLSL 1.40Dave Airlie2012-12-081-1/+1
| | | | | | This enables GLSL 1.40 advertising by softpipe. Signed-off-by: Dave Airlie <[email protected]>
* softpipe: add texture buffer object supportDave Airlie2012-12-082-1/+9
| | | | | | This adds TBO support to softpipe. Signed-off-by: Dave Airlie <[email protected]>
* gallium: add new texture buffer object capabilityDave Airlie2012-12-081-1/+2
| | | | | | this just adds the define to the header. Signed-off-by: Dave Airlie <[email protected]>
* nv50,nvc0: fix shader evictionChristoph Bumiller2012-12-072-2/+19
|
* nv50,nvc0: add support for cube map arraysChristoph Bumiller2012-12-0716-37/+88
| | | | NOTE: nv50 support not enabled, someone with nva3/8 please fix.
* 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]>