Commit Graph

25462 Commits

Author SHA1 Message Date
José Fonseca 3ef44746fe llvmpipe: Add test cases for pixels.
Actually some of this test cases need more testing...
2009-08-29 09:21:20 +01:00
José Fonseca 899bee2788 util: Fix r5g6b5 description. 2009-08-29 09:21:19 +01:00
José Fonseca 3ace63c00f llvmpipe: Update SConscript. 2009-08-29 09:21:19 +01:00
José Fonseca b023c1dc68 llvmpipe: Simple shell script to aid port softpipe changes to llvmpipe. 2009-08-29 09:21:19 +01:00
Keith Whitwell 05bfd93c3f llvmpipe: move all depth/stencil/alpha pixel processing into one stage 2009-08-29 09:21:19 +01:00
Keith Whitwell b8c437f20f llvmpipe: fix error in scissor state dependencies 2009-08-29 09:21:18 +01:00
Keith Whitwell c5375da1dc llvmpipe: cleanup framebuffer state routine slightly 2009-08-29 09:21:18 +01:00
Keith Whitwell 90caf1a3f3 llvmpipe: move all color-combine code into lp_quad_blend.c
Consolidate the read-modify-write color combining code from
the blend, colormask and output stages.
2009-08-29 09:21:18 +01:00
Keith Whitwell 54c6ef144f llvmpipe: fix typo 2009-08-29 09:21:18 +01:00
Keith Whitwell 3c71a19016 llvmpipe: example fastpaths in blending 2009-08-29 09:21:18 +01:00
Keith Whitwell 80eb276630 llvmpipe: actually pass >1 quad from triangle routine
First attempt
2009-08-29 09:21:18 +01:00
Keith Whitwell bdbb4beb21 llvmpipe: expand quad pipeline to process >1 quad at a time
This is part one -- we still only pass a single quad down, but
the code can now cope with more.  The quads must all be from the same
tile.
2009-08-29 09:21:18 +01:00
Keith Whitwell 4486012245 llvmpipe: rip out old mulithread support 2009-08-29 09:21:18 +01:00
Keith Whitwell 2a7c39a211 llvmpipe: avoid flushing depth buffer cache on swapbuffers
There's no need to push out depth buffer contents on swapbuffers.

Note that this change doesn't throw away depth buffer changes, it simply
holds them in the cache over calls to swapbuffers.  The hope is
that swapbuffers will be followed by a clear() which means in that case
we won't have to write the changes out.
2009-08-29 09:21:17 +01:00
Keith Whitwell 3adca96114 llvmpipe: also shortcircuit non-texture tile lookups 2009-08-29 09:21:17 +01:00
Keith Whitwell 2301314e7c llvmpipe: shortcircuit repeated lookups of the same tile
The lp_tile_cache is often called repeatedly to look up the same
tile.  Add a cache (to the cache) of the single tile most recently
retreived and make a quick inline check to see if this matches the
subsequent request.

Add a tile_address bitfield struct to make this check easier.
2009-08-29 09:21:17 +01:00
Keith Whitwell df1823ec5b llvmpipe: remove unused vars in lp_setup.c 2009-08-29 09:21:17 +01:00
Keith Whitwell 08811032c2 llvmpipe: use bitwise logic to setup quad masks in lp_setup 2009-08-29 09:21:17 +01:00
Keith Whitwell 0aa24fa36f llvmpipe: simplify flush_spans
No loss of performance, but simpler code.
2009-08-29 09:21:17 +01:00
Keith Whitwell 0f55a95b2f llvmpipe: make some small steps to flush texture cache less frequently
No performance gain yet, but the code is a bit cleaner.
2009-08-29 09:21:16 +01:00
Keith Whitwell 3121484a8b llvmpipe: remove backwards dependency from tilecache to llvmpipe
The tile cache is a utility, it shouldn't know anything about the
entity which is making use of it (ie llvmpipe).

Remove llvmpipe parameter to all the tilecache function calls, and
also remove the need to keep a llvmpipe pointer in the sampler structs.
2009-08-29 09:21:16 +01:00
José Fonseca c9a5930fe4 llvmpipe: Rename preprocessor symbols too. 2009-08-29 09:21:16 +01:00
José Fonseca 8783732c4d llvmpipe: Pixel packing/unpacking and loop code generators.
Just a small proof of concept plus a standalone test app. Not integrated
with the rest of the driver yet.
2009-08-29 09:21:16 +01:00
José Fonseca 15422b2d99 util: Pixel format database.
There are some inconsistencies in pipe_format, but above all, there
simply aren't enough bits in an enum to conveniently store all
information about a pixel format we need to be able to dynamically
generate pixel packing/unpacking code.
2009-08-29 09:21:15 +01:00
José Fonseca 946f432a08 llvmpipe: Fork softpipe for experimentation with llvm. 2009-08-29 09:21:15 +01:00
Ian Romanick 1814d6b49c Put 'extern' first on the line to silence GCC warnings. 2009-08-28 20:12:36 -07:00
Eric Anholt 00413d8742 i965: Use VBOs in the VBO module on 965, now that we have ARB_map_buffer_range.
This looks like it's a small win on blender.
2009-08-28 15:29:35 -07:00
Eric Anholt 8096aa5213 vbo: Fix array pointer calculation for MapBufferRange-mapped vertex data.
We would end up with the offset from the start of the mapping rather than
the offset from the start of the buffer.
2009-08-28 15:29:35 -07:00
Eric Anholt 2d5c74fac3 intel: Add support for GL_ARB_map_buffer_range.
Passes glean's bufferObject test, and should provide good performance in the
cases applications are expected to use.
2009-08-28 15:29:35 -07:00
Eric Anholt 446a226f9f i965: Implement ARB_oq CheckQuery in the intended way.
Previously we blocked because I hadn't added the libdrm function.  Now it's
there, so update your libdrm.
2009-08-28 15:29:34 -07:00
Pauli Nieminen 0926a5f4a1 radeon: Fix swtcl emit pediction.
Problem was to find the correct place to run prediction. Only place that is
called for every primitive is ALLOC_VERTS so we have to do prediction there
before allocation.
2009-08-29 00:46:57 +03:00
Jakob Bornecrantz 55e7abf81f i915g: Add cursor case for scanout layout 2009-08-28 22:41:53 +01:00
Jakob Bornecrantz 644060c025 i915g: Don't forget to init buffer ptrs 2009-08-28 22:41:52 +01:00
Zack Rusin aaedd035ca st/xorg: disable composite accelration for now 2009-08-28 16:19:53 -04:00
Zack Rusin 0a26811286 st/xorg: bind samplers before composition 2009-08-28 15:43:46 -04:00
Zack Rusin f1c0a4b2f4 st/xorg: normalize coords for the src operands in the vertex shader 2009-08-28 15:36:33 -04:00
Pauli Nieminen 4f644e58d4 radeon: Fix scissors for dri1.
DRI1 has to set scissors in framebuffer coordinates.
2009-08-28 22:05:15 +03:00
Joakim Sindholt dbe58d7f9f r300g: pretty up the new drm code a bit
As it turns out, I made some boners. This corrects them (I hope)
2009-08-28 20:05:52 +02:00
Jakob Bornecrantz 1e9eb69f83 st/xorg: If migrating from a sw pixmap to a hw pixmap upload old contents 2009-08-28 17:10:58 +02:00
Jakob Bornecrantz d80242c254 st/xorg: Null devPrivate.ptr when unmapping 2009-08-28 17:10:57 +02:00
Michel Dänzer fdc8ec60eb st/xorg: Fix scons build. 2009-08-28 17:42:07 +02:00
Joakim Sindholt 6bfec14d6d r300g: support new drm_api 2009-08-28 17:23:11 +02:00
Jakob Bornecrantz 1e5014f7df drm_api: Operate on textures instead of buffers
Most use cases just got the buffer from the texture
	and then called into one of the get_handle functions.

	Also with this patch it would be easier to move to a
	generic function for getting handles from textures
	and textures from handles, that is exposed via the screen.
2009-08-28 13:38:23 +01:00
Jakob Bornecrantz 7d9af52bc5 st/xorg: Fix some warnings 2009-08-28 12:46:24 +02:00
Jakob Bornecrantz b26aee0ffe st/dri: Fix some warnings 2009-08-28 12:46:17 +02:00
Jakob Bornecrantz 6f0a1a8426 st/xorg: Pass dri driver name as driverName on screen 2009-08-28 12:36:42 +02:00
Jakob Bornecrantz 205d344e2a Revert "st/xorg/dri: Pass texture formats via the DRI2 protocol flags."
This reverts commit a33e9ea3b9.

As this change breaks both radeon and nouveau
2009-08-28 12:35:42 +02:00
Pauli Nieminen 4322181e6a r100/r200: Bring back old PolygonStripple for DRI1.
DRI1 didn't have support for command buffer emit for stripple.
2009-08-28 05:42:41 +03:00
Pauli Nieminen bfbad4fbb7 r100/r200: Share PolygonStripple code. 2009-08-28 04:58:50 +03:00
Pauli Nieminen e541845959 r200: Fix piglit paths test.
Polygon stipple has to go to command buffer because special ioctl is disabled.
Piglit doesn't like HyperZ warning so disable it for kms.
2009-08-28 04:13:01 +03:00