Commit graph

10094 commits

Author SHA1 Message Date
Marek Olšák
ecae1fca6f r300g: fix an invalid pointer in free 2010-08-16 05:05:43 +02:00
nobled
e897bf524b r300g: Let hyperz init fail
Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-08-16 05:00:09 +02:00
nobled
1e2cd02eae r300g: Fix leaks in failed context creation
This changes r300_destroy_context() so it can be called
on a partially-initialized context, and uses it when
r300_create_context() hits a fatal error.

This makes sure r300_create_context() doesn't leak memory
or neglect to call r300_update_num_contexts() when it fails.

Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-08-16 04:59:58 +02:00
nobled
b0e1565b5f r300g: Fix macro
This fixes a potential bug if (has_hyperz) is false
(it would still init the atom as if has_hyperz were true).

Signed-off-by: Marek Olšák <maraeo@gmail.com>
2010-08-16 04:59:13 +02:00
Marek Olšák
27eb2e2755 r300/compiler: implement DP2 opcode 2010-08-16 00:08:00 +02:00
Marek Olšák
b217167056 r300/compiler: implement SSG opcode 2010-08-16 00:08:00 +02:00
Keith Whitwell
c9b7bece05 llvmpipe: special case triangles which fall in a single 16x16 block
Check for these and route them to a dedicated handler with one fewer
levels of recursive rasterization.
2010-08-15 23:02:10 +01:00
Keith Whitwell
85d9bc236d llvmpipe: consolidate several loops in lp_rast_triangle 2010-08-15 17:40:39 +01:00
Keith Whitwell
ff26594a92 llvmpipe: remove all traces of step arrays, pos_tables
No need to calculate these values any longer, nor to store them in the
bin data.  Improves isosurf a bit more, 115->123 fps.
2010-08-15 17:31:13 +01:00
Keith Whitwell
4c0641454b llvmpipe: eliminate last usage of step array in rast_tmp.h
For 16 and 64 pixel levels, calculate a mask which is linear in x and
y (ie not in the swizzle layout).

When iterating over full and partial masks, figure out position by
manipulating the bit number set in the mask, rather than relying on
postion arrays.

Similarly, calculate the lower-level c values from dcdx, dcdy and the
position rather than relying on the step array.
2010-08-15 17:24:54 +01:00
Keith Whitwell
ee0d1c29ee llvmpipe: don't refer to plane->step when dcdx or dcdy would do 2010-08-15 17:22:25 +01:00
Keith Whitwell
4b322e71bb llvmpipe: also use build_mask at 16, 64 pixel levels 2010-08-15 16:49:26 +01:00
Keith Whitwell
515194968d llvmpipe: version of block4 which doesn't need the full step array
No noticable slowdown with isosurf.
2010-08-15 16:32:45 +01:00
Keith Whitwell
510b035394 llvmpipe: reorganize block4 loop, nice speedup
isosurf 95->115 fps just by exchanging the two inner loops in this
function...
2010-08-15 16:25:06 +01:00
Corbin Simpson
2d53dc873e gallium/docs: Cleanup debugging. Spelling, grammar, organization. 2010-08-15 03:43:54 -07:00
Corbin Simpson
bf357aedff gallium/docs: Add formatting for envvar role; change debugging.
Per Jakob's request. Not super-pretty, but it's a good point for modding
later.
2010-08-15 03:43:54 -07:00
Marek Olšák
6dfcff6b05 r300g: mark HiZ/ZMask_clear atoms as non-dirty after emission in clear 2010-08-15 09:20:30 +02:00
Marek Olšák
d5a86f9fc9 r300g: do not use HiZ if HiZ RAM is not properly initialized 2010-08-15 08:07:11 +02:00
Marek Olšák
59c2230879 r300g: rename dirty_zmask -> zmask_in_use 2010-08-15 08:07:11 +02:00
Marek Olšák
516152112e r300g: do not clear with blitter if we clear just the ZMask RAM
This skips the blitter clear path entirely if the color is not cleared and
the depth+stencil is cleared with the ZMask.
2010-08-15 08:07:11 +02:00
Marek Olšák
5f8ccf1e27 r300g: do not use fastfill if ZMask RAM is not properly initialized
z_fastfill -> dirty_zmask[level].
2010-08-15 08:07:11 +02:00
Marek Olšák
0d699e8ee9 r300g: separate num_cs_end_dwords out from prepare_for_rendering 2010-08-15 08:07:11 +02:00
Jakob Bornecrantz
fe19935a12 gallium/docs: Add rbug to distribution 2010-08-15 01:06:57 +01:00
Jakob Bornecrantz
d62b29f567 gallium/docs: Add a debugging section 2010-08-15 01:06:53 +01:00
Jakob Bornecrantz
7f5202be63 gallium: Make printing info on debug builds default off
This commit silences the printing off most of the debug information
when running debug builds. The big culprits are: the tgsi sanity checker
that gets run on all shaders on debug; all the options; and
finaly the cpu caps printer.
2010-08-15 01:03:23 +01:00
Vinson Lee
10d77f3f6b gallivm: Remove unnecessary header. 2010-08-14 12:54:21 -07:00
Vinson Lee
db0e24e34a scons: Fix r600g build. 2010-08-14 12:18:51 -07:00
Vinson Lee
77458b565a r600g: Remove unnecessary headers. 2010-08-14 11:56:26 -07:00
Vinson Lee
e01a49af61 r300g: Remove unnecessary header. 2010-08-14 11:44:01 -07:00
Luca Barbieri
9232566269 u_cpu_detect: remove arch and little_endian
This logic duplicates the one in p_config.h, so remove it and adjust
the only two places that were using it.
2010-08-14 19:23:52 +02:00
José Fonseca
eacb624a4a gallivm: Refactor the Newton-Rapshon steps, and disable once again.
It causes a very ugly corruption on the Earth's halo on Google Earth.
2010-08-14 18:03:13 +01:00
George Sapountzis
5c0a0f2198 st/dri: make dri_drawable_validate_att static 2010-08-13 23:08:02 +03:00
George Sapountzis
c14b4371ed st/dri: move TFP code to dri_drawable.c
This is based on a patch by nobled <nobled@dreamwidth.org> and allows the TFP
extension to be enabled for DRISW also. This patch does not enable TFP for DRISW
though, because testing on xephyr segfaults here (for both classic and gallium):

Program received signal SIGSEGV, Segmentation fault.
0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788
788	   ASSERT_OUTSIDE_BEGIN_END(ctx);
(gdb)
(gdb) where
\#0  0x00786a4a in _mesa_GenTextures (n=1, textures=0xbfffee4c) at main/texobj.c:788
\#1  0x0817a004 in __glXDisp_GenTextures ()
\#2  0x08168498 in __glXDispatch ()
\#3  0x0808b6ce in Dispatch ()
\#4  0x08084435 in main ()

The TFP code is generic except for the teximage call. We need to verify that
DRISW correclty implements whatever hook teximage finally calls.
2010-08-13 22:58:11 +03:00
nobled
5270deaab6 st/dri: Fix segmentation fault in sw drivers 2010-08-13 22:57:26 +03:00
George Sapountzis
d3758feb6b st/dri: dri_drawable_get_format is shared between DRI2 and DRISW 2010-08-13 22:20:19 +03:00
Marek Olšák
bac59b336b r300g: do not support separate depth/stencil clear in the driver
It doesn't work well with Hyper-Z, so put the burden on the state tracker.
2010-08-13 08:23:06 +02:00
Marek Olšák
aa6bdd38af r300g: fix fastfill when color and Z clear are invoked separately
This always restores the previous depth clear value after CBZB clear.
2010-08-13 04:41:38 +02:00
Marek Olšák
4985ce1755 r600g: update shader caps
Sent on ML by Владимир.

These values are what fglrx returns.
2010-08-13 03:28:35 +02:00
Marek Olšák
16e782b83f r300g: disable depth clamp for now
It breaks Regnum Online in that it renders random triangles
all over the screen.

https://bugs.freedesktop.org/show_bug.cgi?id=29518
2010-08-13 02:59:01 +02:00
Dave Airlie
527ac905f6 r600g: fix warning in the winsys 2010-08-13 10:22:46 +10:00
Dave Airlie
f2804e7062 r600g: fix memory leaks running gears.
I noticed gears memory usage was heading skywards, some r600 "states"
aren't properly refcounted, and the ctx->state is never freed.
2010-08-13 10:22:46 +10:00
Vinson Lee
26c042c30a translate_test: Fix compilation with MSVC. 2010-08-12 17:12:56 -07:00
Luca Barbieri
b9abe7f62c translate_test: fix compilation on non-POSIX platforms
Use a kludgy function based on rand() instead of drand48()
2010-08-12 22:10:09 +02:00
Luca Barbieri
4d946c4e8a translate_test: improve
1. Generate random data specifically for float and doubles, so that
   they end up in [0, 1] range
2. Don't test useless conversions like SCALED <-> NORM
3. Poison the buffers before testing
2010-08-12 18:36:21 +02:00
Marek Olšák
f668ea11bd Revert "u_blitter: unify clear_depth_stencil and flush_depth_stencil"
This reverts commit de4784e365.
2010-08-12 13:35:16 +02:00
Dave Airlie
582129ced6 r600g: fix typo in stencil translate.
fixes piglit stencil-twoside and stencil-wrap
2010-08-12 16:32:19 +10:00
Dave Airlie
13bc2098ca r600g: fix provoking-vertex piglit test. 2010-08-12 16:29:04 +10:00
Dave Airlie
e2df0a8b23 r600g: improve texture format checker.
This takes the r300g texture format checker and fixes it up for r600g,
it passes glean texSwizzle, pixelformats, and texture_srgb tests,

however I think it L8S8_SRGB is broken as is L8_SRGB, need to investigate.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-12 16:20:31 +10:00
Marek Olšák
de4784e365 u_blitter: unify clear_depth_stencil and flush_depth_stencil
No need to enable depth test for clear.
2010-08-12 06:21:24 +02:00
Vinson Lee
e1bb9ee7a6 scons: Fix freebsd8 build. 2010-08-11 18:57:27 -07:00