Commit graph

4926 commits

Author SHA1 Message Date
Vinson Lee
fddd5834ff llvmpipe: Remove unnecessary header. 2010-06-23 15:17:00 -07:00
Corbin Simpson
e6ee4e1bdf glhd: Simple rasterizer checks.
From the documentation.
2010-06-23 11:34:51 -07:00
Corbin Simpson
666fdc01c4 id, glhd: Unbreak texturing.
Argfl.
2010-06-23 11:25:52 -07:00
Corbin Simpson
9526305834 glhd: Use an environment variable (GALAHAD) to enable. Off by default. 2010-06-23 11:06:42 -07:00
Corbin Simpson
ee2c6d748d id, glhd: Fix malloc/calloc of struct.
( >&)
2010-06-22 23:40:11 -07:00
Corbin Simpson
a6cc914874 glhd: Add query protection.
Not quite copied from r300g. This is slightly more API-compliant.
2010-06-22 23:11:01 -07:00
Corbin Simpson
aa451d509d glhd: Grab framebuffer state checks from r300g. 2010-06-22 23:00:44 -07:00
Corbin Simpson
3f758d4ed4 glhd: Grab resource_copy_region from r300g. 2010-06-22 22:49:13 -07:00
Corbin Simpson
de7b181e99 glhd: Grab is_format_supported warning from r300g. 2010-06-22 22:49:13 -07:00
Corbin Simpson
7d551eb03d glhd: Add glhd_warn for unconditional stderr output.
Design decision. Bad API errors should never be silenced.

Of course, you can always not use galahad.
2010-06-22 22:49:13 -07:00
Corbin Simpson
75612aa199 id, glhd: Fix segfault with misreferenced pipe member.
And remove the offending member to keep that from happening again.
2010-06-22 22:49:13 -07:00
Corbin Simpson
40faedfe7b targets, radeong: Add Galahad.
Currently unconditional and causes segfaults.
2010-06-22 22:49:13 -07:00
Corbin Simpson
d3ad6fa579 gallium/drivers: Create Galahad from identity.
Galahad is a sanity-checking layer meant to replace the crufty and
scattered sanity checks inside drivers with a robust, non-silenceable,
useful set of warnings and errors that can be used to keep misbehaving
state trackers from going unnoticed.
2010-06-22 22:49:13 -07:00
Jakob Bornecrantz
41e0f6bc2f i965g: Move bootstrap code to targets 2010-06-23 03:43:48 +02:00
Jakob Bornecrantz
2b15e37348 i965g: Moved pci_id to winsys struct 2010-06-23 03:20:45 +02:00
Marek Olšák
9ed7325848 r300g: attempt to fix texture corruption on RV505 2010-06-23 01:35:11 +02:00
Marek Olšák
d84bf6d44d r300g: index buffer range checking 2010-06-23 00:20:11 +02:00
Jakob Bornecrantz
e130f524a9 i915g: Revert debug hunks from last commit 2010-06-22 22:55:13 +02:00
Jakob Bornecrantz
ca43b6ec9d i915g: Reduce state emission by using a index bias 2010-06-22 20:04:56 +02:00
Jakob Bornecrantz
255d4f24e0 i915g: Drop fifo code in vbuf 2010-06-22 20:04:56 +02:00
Jakob Bornecrantz
4dd742cec3 i915g: Change state code in vbuf code 2010-06-22 20:04:56 +02:00
Jakob Bornecrantz
abbb1bde06 i915g: Rework debug print code 2010-06-22 20:04:55 +02:00
Jakob Bornecrantz
e694f3fd48 i915g: Switch to state atoms 2010-06-22 20:04:55 +02:00
Jakob Bornecrantz
ed675bb460 i915g: i915_state_sampler.c code style 2010-06-22 20:04:55 +02:00
Jakob Bornecrantz
2e7a90546d i915g: i915_state_immediate.c code style 2010-06-22 20:04:55 +02:00
Jakob Bornecrantz
f93e378bfb i915g: i915_state_dynamic.c code style 2010-06-22 20:04:55 +02:00
Jakob Bornecrantz
3a3e80ff96 llvmpipe: Ignores 2010-06-22 20:04:32 +02:00
Zack Rusin
b5e381d978 llvmpipe: make geometry shaders and stream output work 2010-06-22 12:58:04 -04:00
Zack Rusin
e433b73dd2 gallium: add a timestamp disjoint query
allows application to not only request the frequency of the TIME_ELAPSED
clock but also to detect if that frequency was consistent throughout the
entire bracketed range of graphics commands.
2010-06-22 12:58:04 -04:00
Zack Rusin
b6c360b46c gallium: add a new query
to figure out if gpu is finished with all of the previously issues commands
2010-06-22 12:58:04 -04:00
Marek Olšák
eb7ef433bb r300g: optimize the immediate mode emission path a bit 2010-06-22 06:50:23 +02:00
Marek Olšák
bd52246248 r300g: do not emit ZTOP every draw call 2010-06-22 06:50:22 +02:00
Marek Olšák
59df6725af r300g: fix crash when destroying the context on r3xx-r4xx
FDO bug #28652,
2010-06-21 23:46:38 +02:00
José Fonseca
197636814e llvmpipe: s/lpfs/shader/ 2010-06-21 14:11:15 +01:00
Marek Olšák
d82f625333 r300g: fix the KIL opcode for r3xx-r4xx (v4) 2010-06-21 04:07:11 +02:00
Marek Olšák
646e9c2fd7 r300g: fix assigning the texture cache region for 1 texture 2010-06-20 14:06:14 +02:00
Vinson Lee
d05e848035 i965g: Fix setup of immediate types for gen4 disasm.
Caught by clang.

Follow-up to commit 070bbd4fcd.
2010-06-20 00:58:52 -07:00
Marek Olšák
e8f2adf8e3 r300g: manually assign texture cache regions
This should fix corrupted texturing on r3xx-r4xx.
2010-06-20 05:30:04 +02:00
Marek Olšák
e4fe18a620 r300g: cleanup buffer_{from, get}_handle 2010-06-20 03:59:32 +02:00
Marek Olšák
6e96cfa39a r300g: cleanup includes 2010-06-20 03:59:31 +02:00
Marek Olšák
a916669468 r300g: texture alignment code cleanup + use special alignment for AA textures 2010-06-20 03:59:28 +02:00
Marek Olšák
9b2ebcaf4b r300g: fix random pixels appearing / incomplete rendering
This should fix the FDO bug #28612.

Also, these piglit tests have been fixed:
- fbo-copypix
- scissor-copypixels
- copytexsubimage
- texredefine

Finally, 2 flushes in the transfer path are no longer needed.
2010-06-19 20:26:16 +02:00
Marek Olšák
4c76184305 r300g: output floats instead of halfs when passed through translate 2010-06-19 17:20:40 +02:00
Marek Olšák
ce4c9a7f25 r300g: fix clamp and mirror_clamp wrap modes when used with nearest filtering 2010-06-19 06:18:17 +02:00
Marek Olšák
6acd2117c1 r300g: more informative warning in END_CS 2010-06-19 05:15:07 +02:00
Marek Olšák
371ca689ec r300g: improve the ZTOP condition
The real difference here is that ZTOP is now enabled if all stencil ops
are set to KEEP. This improves performance.
2010-06-19 05:14:31 +02:00
Marek Olšák
8ea45a2c0e r300g: fix up the CS size of the rasterizer state 2010-06-19 05:14:18 +02:00
José Fonseca
d7f4250333 llvmpipe: Fix pointer dereference after free. 2010-06-18 17:37:37 +01:00
Roland Scheidegger
17c9d7eea7 llvmpipe: limit the number of fragment shader variants kept around
llvmpipe can create a large number of shader variants for a single shader
(which are quite big), and they were only ever deleted if the shader itself
was deleted. This is especially apparent in things like glean
blendFunc where a new variant is created for every different subtest, chewing
up all memory.
This change limits the numbers of fragment shader variants (for all shaders)
which are kept around to a fixed number. If that would be exceeded a fixed
portion of the cached variants is deleted (since without tracking the used
variants this involves flushing we don't want to delete only one).
Always the least recently used variants (from all shaders together) are
deleted.
For now this is all per-context.
Both the number of how many variants are cached (1024) as well as how many
will be deleted at once (1/4 of the cache size) are just rough guesses and
subject to further optimization.
2010-06-18 13:52:17 +01:00
Marek Olšák
ff8e1452df r300g: fix hardlocks in occlusion queries
Early Z test (=ZTOP) must be disabled before a query is started,
otherwise the GPU is dead. The order of emitted registers matters more
than you might think.

This fixes hardlocks in sauerbraten.
2010-06-18 02:17:29 +02:00