summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/llvmpipe
Commit message (Collapse)AuthorAgeFilesLines
* draw: simplify index buffer specificationBrian Paul2012-05-312-5/+5
| | | | | Replace draw_set_index_buffer() and draw_set_mapped_index_buffer() with draw_set_indexes() which simply takes a pointer and an index size.
* llvmpipe: Fix alpha testing precision on rgba8 formats.José Fonseca2012-05-223-1/+34
| | | | | | | | | | This is a long standing problem, that recently surfaced with the change to enable perspective correct color interpolation. A fix for all possible formats is left to the future. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* llvmpipe: Added a error counter to lp_test_conv.James Benton2012-05-211-3/+7
| | | | | | Useful for keeping track of progress when fixing errors! Signed-off-by: José Fonseca <[email protected]>
* llvmpipe: Changed known failures in lp_test_conv.James Benton2012-05-211-3/+9
| | | | | | To comply with the recent fixes to lp_bld_conv. Signed-off-by: José Fonseca <[email protected]>
* llvmpipe: Added fixed point types tests to lp_test_conv.James Benton2012-05-211-6/+7
| | | | Signed-off-by: José Fonseca <[email protected]>
* llvmpipe: Avoid adding floating point zero to flat inputs.José Fonseca2012-05-181-1/+4
| | | | | Which could clobber integer inputs, if the addition is not optimized away (e.g., if optimizations are disabled for debugging purposes).
* llvmpipe: Implement TXQ.Olivier Galibert2012-05-181-0/+23
| | | | | | | | | | Piglits test for fragment shaders pass, vertex shaders fail. The actual failure seems to be in the interpolators, and not the textureSize query. Signed-off-by: Olivier Galibert <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* llvmpipe: Don't mess with the provoking vertex when inverting a triangle.Olivier Galibert2012-05-181-5/+40
| | | | | | | Fixes a bunch of piglit tests related to flat interpolation of floats. Signed-off-by: Olivier Galibert <[email protected]> Signed-off-by: José Fonseca <[email protected]>
* draw,llvmpipe: Avoid named struct types on LLVM 3.0 and later.José Fonseca2012-05-161-10/+2
| | | | | | | | | | | | Starting with LLVM 3.0, named structures are meant not for debugging, but for recursive data types, previously also known as opaque types. The recursive nature of these types leads to several memory management difficulties. Given that we don't actually need recursive types, avoid them altogether. This is an attempt to address fdo bugs 41791 and 44466. The issue is somewhat random so there's no easy way to check how effective this is.
* llvmpipe: Color slot interpolation can be flat or perspective, not linear.Olivier Galibert2012-05-163-3/+3
| | | | | | | Fixes a bunch of glsl 1.10 interpolation piglit tests. Signed-off-by: Olivier Galibert <[email protected]> Signed-off-by: José Fonseca <[email protected]>
* llvmpipe: Add a test for lp_build_sgn.José Fonseca2012-05-151-0/+13
| | | | Only floating point though, but better than nothing.
* llvmpipe: Calculate fixed point coordinates for triangle setup earlier.James Benton2012-05-141-56/+106
| | | | | | | | | | | | This allows us to calculate the triangle's area using fixed point, previously it was cacluated in floating point space. It was possible that a triangle which had negative area in floating point space had a positive area in fixed point space. Fixes fdo 40920. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* gallium: remove user_buffer_create from the interfaceMarek Olšák2012-05-121-2/+0
| | | | Nothing uses it now.
* llvmpipe: add cast to silence warningBrian Paul2012-05-111-1/+2
|
* Merge branch 'gallium-userbuf'Marek Olšák2012-05-116-11/+37
|\ | | | | | | | | | | | | | | Conflicts: src/gallium/docs/source/screen.rst src/gallium/drivers/nv50/nv50_state.c src/gallium/include/pipe/p_defines.h src/mesa/state_tracker/st_draw.c
| * gallium: remove pipe_resource::user_ptrMarek Olšák2012-04-301-1/+0
| | | | | | | | It's unused now.
| * gallium: add void *user_buffer to pipe_constant_bufferMarek Olšák2012-04-303-3/+22
| | | | | | | | This reduces CPU overhead when updating constants.
| * gallium: add void *user_buffer in pipe_index_bufferMarek Olšák2012-04-301-3/+6
| | | | | | | | | | | | | | Adapted drivers: i915, llvmpipe, r300, r600, radeonsi, softpipe. User index buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working.
| * gallium: remove pipe_context::redefine_user_bufferMarek Olšák2012-04-301-2/+0
| |
| * gallium: add void *user_buffer in pipe_vertex_bufferMarek Olšák2012-04-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | This reduces CPU overhead in st_draw_vbo and removes a lot of unnecessary code in that function which was required only to comply with the gallium interface, but wasn't any useful really. Adapted drivers: i915, llvmpipe, r300, softpipe. No changes required in: r600, radeonsi. User vertex buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working.
| * gallium: change set_constant_buffer to be UBO-friendlyMarek Olšák2012-04-301-1/+2
| |
| * gallium: add PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENTMarek Olšák2012-04-301-0/+2
| | | | | | | | | | | | | | | | This is required for any serious constant buffer support. Constant buffer offsets on ATI and NVIDIA DX10 and DX11 GPUs must be a multiple of 256. In OpenGL, this can be queried via GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT.
| * gallium: add PIPE_CAP_USER_INDEX_BUFFERS and PIPE_CAP_USER_CONSTANT_BUFFERSMarek Olšák2012-04-301-0/+2
| |
* | llvmpipe: Fix triangle bounding box calculation to be correctly inclusive or ↵James Benton2012-05-111-8/+6
| | | | | | | | | | | | | | | | exclusive Tested with custom rasterisation test tool added to piglit suite, reduced errors Signed-off-by: José Fonseca <[email protected]>
* | llvmpipe: Change triangle rasterization comparison from < 0 to <= 0James Benton2012-05-111-1/+8
| | | | | | | | | | | | Tested with custom rasterisation test tool added to piglit suite, reduced errors Signed-off-by: José Fonseca <[email protected]>
* | gallivm: Added lp_build_const_mask_aos_swizzledJames Benton2012-05-021-9/+1
| | | | | | | | | | | | | | | | | | | | Allows the creation of const aos masks which have the mask swizzled to match the correct format. Updated existing mask creation code to use the swizzled version where necessary (tgsi register masks and llvmpipe aos blending). Signed-off-by: José Fonseca <[email protected]>
* | llvmpipe: add masking support to aos blendJames Benton2012-05-023-6/+35
| | | | | | | | Signed-off-by: José Fonseca <[email protected]>
* | llvmpipe: Added support for color masks in AoS blending.James Benton2012-05-024-33/+58
|/ | | | Signed-off-by: José Fonseca <[email protected]>
* gallium drivers: report that user vertex buffers are supportedMarek Olšák2012-04-241-0/+2
|
* gallium: add user_ptr in pipe_resourceMarek Olšák2012-04-241-0/+1
| | | | I need to access the pointer in st/mesa when I only have pipe_resource.
* gallivm: Updated lp_build_log2_approx to use a more accurate polynomial.James Benton2012-04-051-2/+2
| | | | | | | Tested with lp_test_arit with 100% passes and piglit tests with 100% pass for log but some tests still fail for pow. Signed-off-by: José Fonseca <[email protected]>
* gallium: adapt to get_query_result interface changeMarek Olšák2012-03-301-2/+2
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium/drivers: Use automake to generate makefileTom Stellard2012-03-141-0/+3
|
* Revert "gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLY"Marek Olšák2012-03-051-4/+0
| | | | | | | This reverts commit 0950086376b1c8b7fb89eda81ed7f2f06dee58bc. It was decided to refactor the transfer API instead of adding workarounds to address the performance issues.
* gallium: remove unused winsys pointers in pipe_screen and pipe_contextMarek Olšák2012-02-211-1/+0
| | | | A winsys is already a private object of a driver.
* llvmpipe: Remove lp_test_sincos.José Fonseca2012-02-216-909/+8
| | | | Completely replaced by lp_test_arit.
* llvmpipe: Test lp_test_arit with LP_NATIVE_VECTOR_WIDTH.José Fonseca2012-02-171-3/+5
| | | | Instead of assuming 4 wide vectors.
* llvmpipe: Specify lp_test_arit's target precision per function.José Fonseca2012-02-171-10/+16
|
* llvmpipe: Add a negation test to lp_test_arit.José Fonseca2012-02-171-0/+7
|
* gallium: add PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTIONChristoph Bumiller2012-02-091-0/+2
| | | | | | | Just let the hardware do it if it can and avoid drivers having to check for the special case on each draw call. v2: update the draw module
* llvmpipe: Make more resilient to out-of-memory situations.José Fonseca2012-02-031-2/+6
| | | | | | Most of the code was alright, but we were missing a few paths. Reviewed-by: Brian Paul <[email protected]>
* llvmpipe: clear storage for newly allocated resourcesKeith Whitwell2012-02-031-2/+20
| | | | | | Was previously being done in a state-tracker, but in a way which was difficult for some drivers to optimize. Push down to this level and make it the individual drivers responsibility.
* gallium: Prefix #defines in tgsi_exec.h with TGSI_Tom Stellard2012-01-305-24/+24
|
* llvmpipe: fix symbol conflict on HaikuAlexander von Gluck2012-01-241-2/+2
| | | | | | NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Brian Paul <[email protected]>
* llvmpipe: Fix math error in LP_DEBUG=counters outputAdam Jackson2012-01-241-2/+3
| | | | Signed-off-by: Adam Jackson <[email protected]>
* llvmpipe: Remove unused variable 'packed' from lp_test_round.Vinson Lee2012-01-161-2/+0
| | | | | | | | | | Fix this GCC warning. lp_test_round.c: In function ‘test_round’: lp_test_round.c:126:13: warning: variable ‘packed’ set but not used [-Wunused-but-set-variable] Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* gallium: improve the pipe_stream_output_info struct (v2)Marek Olšák2012-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | There are 3 changes: 1) stride is specified for each buffer, not just one, so that drivers don't have to derive it from the outputs 2) new per-output property dst_offset, which specifies the offset into the buffer in dwords where the output should be stored, so that drivers don't have to compute the offsets manually; this will also be useful for gl_SkipComponents from ARB_transform_feedback3 3) register_mask is removed, instead, there is start_component and num_components; register_mask with non-consecutive 1s doesn't make much sense (some hardware cannot do packing of components) Christoph Bumiller: fixed nvc0. v2: resolve merge conflicts in Draw and clean it up
* llvmpipe: disable native integersDave Airlie2012-01-111-1/+8
| | | | | | llvmpipe shouldn't be reporting native integer support. Signed-off-by: Dave Airlie <[email protected]>
* llvmpipe: Update for TGSI_INTERPOLATE_COLOR.José Fonseca2012-01-111-7/+3
| | | | | Not thoroughly tested nor reviewed. But should at least prevent the assertion failure.
* Squash-merge branch 'gallium-clip-state'Marek Olšák2012-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/tgsi/tgsi_strings.c src/mesa/state_tracker/st_atom_clip.c commit d919791f2742e913173d6b335128e7d4c63c0840 Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 17:59:22 2012 +0100 d3d1x: adapt to new clip state commit cfec82bca3fefcdefafca3f4555285ec1d1ae421 Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 14:16:51 2012 +0100 gallium/docs: update for clip state changes commit c02bfeb81ad9f62041a2285ea6373bbbd602912a Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 14:21:43 2012 +0100 tgsi: add TGSI_PROPERTY_PROHIBIT_UCPS commit d4e0a785a6a23ad2f6819fd72e236acb9750028d Author: Brian Paul <[email protected]> Date: Thu Jan 5 08:30:00 2012 -0700 tgsi: consolidate TGSI string arrays in new tgsi_strings.h There was some duplication between the tgsi_dump.c and tgsi_text.c files. Also use some static assertions to help catch errors when adding new TGSI values. v2: put strings in tgsi_strings.c file instead of the .h file. Reviewed-by: Dave Airlie <[email protected]> commit c28584ce0d8c62bd92c8f140729d344f88a0b3cd Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 12:48:09 2012 +0100 gallium: extend user_clip_plane_enable to apply to clip distances commit f1d5016c07f786229ed057effbe55fbfd160b019 Author: Marek Olšák <[email protected]> Date: Fri Jan 6 02:39:09 2012 +0100 nvfx: adapt to new clip state commit 6f6fa1c26bd19f797c1996731708e3569c9bfe24 Author: Marek Olšák <[email protected]> Date: Fri Jan 6 01:41:39 2012 +0100 st/mesa: fix DrawPixels with GL_DEPTH_CLAMP commit c86ad730aa1c017788ae88a55f54071bf222be12 Author: Christoph Bumiller <[email protected]> Date: Tue Jan 3 23:51:30 2012 +0100 nv50: adapt to new clip state commit 3a8ae6ac243bae5970729dc4057fe02d992543dc Author: Christoph Bumiller <[email protected]> Date: Tue Jan 3 23:32:36 2012 +0100 nvc0: adapt to new clip state commit 6243a8246997f8d2fcc69ab741a2c2dea080ff11 Author: Marek Olšák <[email protected]> Date: Thu Dec 29 01:32:51 2011 +0100 draw: initalize pt.user.planes in draw_init This fixes a crash in glean/fpexceptions. commit e3056524b19b56d473f4faff84ffa0eb41497408 Author: Marek Olšák <[email protected]> Date: Mon Dec 26 06:26:55 2011 +0100 svga: adapt to new clip state commit c5bfa8b37d6d489271df457229081d6bbb51b4b7 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 14:11:51 2011 +0100 r600g: adapt to new clip state commit f11890905362f62627c4a28a8255b76eb7de7df2 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 14:10:26 2011 +0100 r300g: adapt to new clip state commit e37465327c79a01112f15f6278d9accc5bf3103f Author: Marek Olšák <[email protected]> Date: Sun Dec 25 12:39:16 2011 +0100 draw: adapt to new clip state This adds a regression in the LLVM clipping path. Can anybody see anything wrong with the code? It works for every other case, just glean/fpexceptions crashes when doing the "Infinite clip plane test". commit b474d2b18c72d965eefae4e427c269cba5ce6ba2 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 13:14:59 2011 +0100 u_blitter: don't save/set/restore clip state commit 9dd240ea91f523a677af45e8d0adb9e661e28602 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 13:11:56 2011 +0100 gallium: don't cso_save/set/restore clip state The enable bits are in the rasterizer state. commit a4f7031179f5f4ad524b34b394214b984ac950f6 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 12:58:55 2011 +0100 gallium: default depth_clip to 1 depth_clip = !depth_clamp commit fe21147a00ab90e549d63fe12ee4625c9c2ffcc3 Author: Marek Olšák <[email protected]> Date: Mon Dec 26 06:14:19 2011 +0100 trace,util: update state logging to new clip state Also dump the other missing flags. commit 2a3b96e84ac872dcc5bc1de049fe76bb58d64b23 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 10:43:43 2011 +0100 st/mesa: adapt to new clip state commit b7b656a42fca19d7c85267f42649a206a85a2c72 Author: Marek Olšák <[email protected]> Date: Sat Dec 17 15:45:19 2011 +0100 gallium: move state enable bits from clip_state to rasterizer_state