Commit Graph

35308 Commits

Author SHA1 Message Date
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 7f6754af25 mapi: Add missing stdlib.h header for malloc declaration. 2010-06-20 01:03:00 -07: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 c85e53bebf r600g: handle DRM_API_HANDLE_TYPE_KMS in buffer_get_handle 2010-06-20 03:59:32 +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
Will Dyson c674a7eb7f Revert "Fix image_matches_texture_obj() MaxLevel check"
This reverts commit a9ee956511.
It was based on a failure to understand how ther driver allocates
memory, and causes a regression with Celestia.

Set MaxLevel to dstLevel before allocating new mipmap level.

The radeon driver will fail to allocate space for a new level that
is outside of BaseLevel..MaxLevel. Set MaxLevel before allocating.

Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
2010-06-19 22:09:24 +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
Eric Anholt 6dd6830e6f intel: Finalize the miptree before mapping it for fallbacks.
Fixes segfault in mipmap_view.c demo.  Bug #27212.
2010-06-18 17:44:47 -07:00
Eric Anholt 1ea7a6a44d i965: Fix the name of aa_coverage_slope in the improved AA line params. 2010-06-18 17:44:47 -07:00
Zack Rusin 0ea927b3ad graw: add two examples using new register files 2010-06-18 13:46:44 -04:00
Zack Rusin 101f792a2a gallium: add a temporary array register file
like normal temporaries, but allows to define a number of distinct
arrays, all of which make it explicit that they contain /indexable/
registers.
as a side-effect we're adding support for multi-dimensional destination
registers.
The whole thing looks like this:
DCL TEMPX[0][0..128]  # 0 array with 128 registers

ADD TEMPX[0][0], IN[0], IMM[0]
ADD TEMPX[0][1], IN[0], IMM[0]
ABS OUT[0], TEMPX[0][TEMP[0]]
2010-06-18 13:46:44 -04:00
Zack Rusin 2b221e11da gallium: add a new register file - immediate array
allows one to specify a safe (bound checked) array
filled with immediates. it works just like a const
array and declares much like our current immediates.
2010-06-18 13:46:44 -04: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
Marek Olšák 3c351e2c83 r300g: debug option for fake occlusion queries 2010-06-18 02:17:17 +02:00
Zack Rusin 4320a451a3 draw: implement triangle strips with adjacency in geometry shader 2010-06-17 13:21:38 -04:00
Zack Rusin f542a2770a draw: implement triangle lists with adjacency support in gs 2010-06-17 12:05:15 -04:00
Zack Rusin 06b854752f draw: fix a silly error 2010-06-17 11:13:18 -04:00
Zack Rusin eb33dd6954 draw: implement line strip adjacency 2010-06-17 10:54:44 -04:00
Zack Rusin dc8f64c537 draw: implement lines with adjacency in geometry shaders 2010-06-17 10:48:23 -04:00
Zack Rusin 91862051f9 draw: validate stream output buffers
fixes a crash.
2010-06-17 10:47:10 -04:00
Zack Rusin c85971da31 draw: fix some unsigned issue
spotted by Vinson
2010-06-17 05:00:50 -04:00
Chia-I Wu da39d5d3b4 egl: s/EGL_DISPLAY/EGL_PLATFORM/.
A platform is already used to mean a window system in EGL.  No need to
use a different term.
2010-06-17 16:30:26 +08:00
Chia-I Wu 6f690caddc egl: s/_EGL_PLATFORM/_EGL_OS/ and s/POSIX/UNIX/.
A platform means a native window system in EGL.  Use OS that follows
Gallium instead.
2010-06-17 16:05:18 +08:00
Chia-I Wu 8f3e48ee2c st/egl: Build sw/fbdev winsys for fbdev backend.
Target egl_fbdev_swrast.so needs sw/fbdev/libfbdev.a.
2010-06-17 14:13:30 +08:00
Marek Olšák c3c2023323 r300g: more reasonable MSPOS defaults in error path 2010-06-17 05:14:24 +02:00
Marek Olšák 6771622e22 r300g: fix surface leaks 2010-06-17 05:11:07 +02:00
Corbin Simpson 1e6d51e805 gallium/docs: GLSL glossary entry. 2010-06-16 18:58:18 -07:00
Corbin Simpson f98c462770 gallium/docs: Explain DFRACEXP/DLDEXP. 2010-06-16 18:58:18 -07:00
Corbin Simpson dbc95e8edc gallium/docs: Remove unneeded "doubles", add double blurb. 2010-06-16 18:58:18 -07:00
Corbin Simpson 9d4cb6ea36 gallium/docs: Label opcodes by capability bits. 2010-06-16 18:58:18 -07:00
Corbin Simpson 92867dcc42 gallium/docs: R and RG texture swizzles.
We *did* reach an agreement on this a few months ago, and now the docs
reflect it. However, we never got around to UV and Z...
2010-06-16 18:58:18 -07:00
Corbin Simpson e7d05f1f0d gallium/docs: Flesh out the distro information.
I'm not sure I picked the best voice here. I might come back to this
later.
2010-06-16 18:58:18 -07:00
Corbin Simpson 517a4fb051 gallium/docs: Fix RST error. 2010-06-16 18:58:18 -07:00
Vinson Lee 2412188453 r300g: Fix uninitialized variable warnings in error path. 2010-06-16 17:56:00 -07:00
Vinson Lee 84178547df intel: Remove unnecessary headers. 2010-06-16 17:44:26 -07:00
Zack Rusin 638a80bc07 draw: make sure we correctly iterate over output buffers on stream out
we kept overwriting the first attribute of a vertex in a single-stream-
out-buffer case
2010-06-16 15:56:17 -04:00
Zack Rusin 509ff13d06 graw: remove wrong test 2010-06-16 15:10:21 -04:00
Zack Rusin 0b8e198027 draw: add stream output decomposition file 2010-06-16 15:03:55 -04:00
Zack Rusin 287531772c draw: rewrite stream output to handle all the dark corners
register masks, multiple output buffers, multiple primitives,
non-linear vertices (elts) and stride semantics.
2010-06-16 14:43:56 -04:00