Commit graph

26149 commits

Author SHA1 Message Date
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
José Fonseca
9399b9a0e2 util: Reset size to zero when failed to allocate buffer. 2009-08-28 12:52:31 +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
Dave Airlie
a7f8b329aa r600: fix scissor also.
I forgot about r600 being here.
2009-08-28 11:05:29 +10:00
Dave Airlie
d0cb1036aa radeon: fix scissors harder.
this makes gnome-shell work on r300 for me
2009-08-28 11:02:32 +10:00
Eric Anholt
60b072d49f intel: Add support for ARB_copy_buffer.
Passes glean's bufferObject test for this extension.
2009-08-27 17:51:29 -07:00
Pauli Nieminen
812ccacabc r300: Fix emit prediction to account scissor emitting correctly. 2009-08-28 02:05:08 +03:00
Brian Paul
e363ec1d08 Merge branch 'mesa_7_5_branch' 2009-08-27 16:54:32 -06:00
Brian Paul
0d7bed9f89 docs: fix selection/feedback culling bug 2009-08-27 16:50:44 -06:00
Brian Paul
8f4d66c5f8 swrast: fix incorrect tri culling in selection/feedback mode.
See bug 16866.
2009-08-27 16:50:03 -06:00
Eric Anholt
c2ef10803d i915: Fix undefined symbol as of eabe12df44 2009-08-27 15:33:33 -07:00
Zack Rusin
8bdce0c3a7 st/xorg: set vertex and fragment shader for the current op 2009-08-27 18:17:54 -04:00
Zack Rusin
c7e103d238 st/xorg: bind rasterizer state 2009-08-27 18:08:58 -04:00
Zack Rusin
2048182e86 st/xorg: set blend state for exa 2009-08-27 18:06:15 -04:00
Zack Rusin
f9a3fce090 st/xorg: bind framebuffer and viewport for exa 2009-08-27 17:39:45 -04:00
Zack Rusin
3f15ea866f st/xorg: create and destroy shader cache 2009-08-27 17:39:45 -04:00