José Fonseca
37f4c2f906
gallivm: Fix 4 x unorm8 -> 4 x float conversion.
...
Also fix the test.
2010-07-02 11:50:00 +01:00
Dave Airlie
8556b77c56
r600: use gallium list macros instead of making our own.
...
before this change, r600 glxinfo segfaulted in the list code, and I wasn't
debugging another linked list implementation, its 2010 after all.
So add the two missing list macros to the gallium header from X.org list header file (after fixing them), then port all r600 lists to the new header.
Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-07-02 15:27:17 +10:00
Brian Paul
17c176eb73
llvmpipe: silence pointer type warnings
2010-07-01 09:15:31 -06:00
José Fonseca
8d93f360c5
gallivm: Support 4 x unorm8 in lp_build_fetch_rgba_aos().
...
Uses code and ideas from Brian Paul.
2010-07-01 15:02:17 +01:00
José Fonseca
b919bb7f61
gallivm: Allow to conversions to/from registers of different sizes.
...
Allow for example to convert from 4 x float32 to 4 x unorm8 and vice versa.
Uses code and ideas from Brian Paul.
2010-07-01 15:02:15 +01:00
José Fonseca
83ced5a918
llvmpipe: Remove lp_build_swizzle2_aos().
...
Unnecessary special case.
2010-07-01 15:02:04 +01:00
Brian Paul
fb06b543a5
llvmpipe: another null pointer check
2010-06-30 14:05:45 -06:00
Brian Paul
2b3e1ad731
llvmpipe: use dummy tile when out of memory
2010-06-30 14:05:45 -06:00
Brian Paul
effd33071e
llvmpipe: added new lp_memory.[ch] files
...
Functions for using dummy tiles when we detect OOM conditions.
2010-06-30 12:00:22 -06:00
José Fonseca
a2311400fe
llvmpipe: Add a new scene state to describe scenes which only have state changes.
...
It's a rare condition, but it may happen if all primitives are
clipped/culled.
For now we just do a no-op rasterization, but we could bypass it.
2010-06-30 11:10:33 +01:00
José Fonseca
4ca3e0d84b
llvmpipe: Don't reset the bin when there's a zsbuf bound.
...
The previous rendering may have secondary effects on the zsbuf.
Fixes the missing tiles on gearbox.
2010-06-30 10:19:50 +01:00
Marek Olšák
b939f83eb7
r300g: add workaround for multiple contexts
2010-06-30 00:03:04 +02:00
Marek Olšák
6a34287bb5
r300g: move one flush from winsys to the context
...
This flush happens when changing the tiling flags, and it should really be
done in the context.
I hope this fixes FDO bug #28630 .
2010-06-30 00:03:04 +02:00
Brian Paul
3d6101245b
llvmpipe: don't crash/assert on out of memory
...
Check for null pointers and return early, etc.
2010-06-29 15:40:19 -06:00
Brian Paul
249c6735dd
llvmpipe: restore call to lp_setup_update_state()
...
This undoes part of commit 8be645d53a
and fixes fd.o bug 28822 as well as other regressions.
The 'draw' module may issue additional state-change commands while
we're inside the draw_arrays/elements() call so it's important to
check for updated state at this point.
2010-06-29 15:19:01 -06:00
Zack Rusin
da7bd6a90e
mesa: initial support for ARB_geometry_shader4
...
laying down the foundation for everything and implementing most of the
stuff.
linking, gl_VerticesIn and multidimensional inputs are left.
2010-06-28 22:53:21 -04:00
Marek Olšák
0b50fcbd55
util: reference surfaces and sampler views in blitter when saving them
...
Ooops. This should possibly fix some bugs...
2010-06-29 01:54:26 +02:00
Jakob Bornecrantz
40d4b414d9
glhd: Build with scons
2010-06-28 22:27:06 +02:00
Jakob Bornecrantz
d12c4c5a62
glhd: Re-integrate with the debug system
2010-06-28 21:52:03 +02:00
Jakob Bornecrantz
2932dd6374
glhd: Remove leftover file
2010-06-28 21:37:03 +02:00
Jakob Bornecrantz
a01e0afd9f
Merge branch 'gallium-drm-driver-drescriptor'
...
Conflicts:
src/gallium/state_trackers/egl/x11/native_dri2.c
src/gallium/state_trackers/egl/x11/native_x11.c
src/gallium/state_trackers/egl/x11/native_x11.h
src/gallium/state_trackers/xorg/xorg_driver.c
src/gallium/winsys/radeon/drm/radeon_drm.c
2010-06-28 21:14:45 +02:00
José Fonseca
250b92f3bb
llvmpipe: set WRITE_ALL only a per-tile basis in lp_resource_copy().
2010-06-28 16:33:52 +01:00
José Fonseca
a9e0fda070
llvmpipe: Actually flush in lp_resource_copy()
...
The cpu_access is redundant in a software rasterizer.
2010-06-28 16:33:21 +01:00
José Fonseca
8be645d53a
llvmpipe: Ensure outdated framebuffer state is not reused in lp_setup_bind_framebuffer().
...
We were starting a scene whenever lp_setup_get_vertex_info() was called by
the draw module. So when when all primitives were culled/clipped, not only
did we create a new scene for nothing, but we end up using the old scene
with the old framebuffer state instead of a new one.
Fix consists in:
- don't call lp_setup_update_state() in lp_setup_get_vertex_info() -- no
longer necessary
- always setting the scene state before binning a command -- query
commands were bypassing it
- assert no old scene is reused in lp_setup_bind_framebuffer()
2010-06-28 16:33:05 +01:00
Marek Olšák
ce7a70b8b4
r300g: fix a compile error on non-debug builds
2010-06-27 17:15:23 +02:00
Marek Olšák
0a19d57b84
r300g: separate the hyperz state and pipelined FB regs out of the FB state
2010-06-27 15:13:14 +02:00
Marek Olšák
808ad22592
r300g: release referenced objects in destroy_context
2010-06-27 15:13:13 +02:00
Marek Olšák
639a7daa85
r300g: reference surfaces in set_framebuffer_state
2010-06-27 15:13:13 +02:00
Marek Olšák
408a886127
r300g: group debug messages
2010-06-27 15:13:13 +02:00
Marek Olšák
0a9510814e
r300g: turn rasterizer state into a command buffer
2010-06-27 15:13:13 +02:00
Marek Olšák
c200c47e6c
r300g: move emission of the MSPOS regs into the framebuffer state
...
Now the question is whether we are allowed to ignore gl_rasterization_rules and
pipe_rasterizer_state::multisample. The former is invariant anyway and
I think the latter would need re-emitting the AA state which is quite costly,
considering that it implicitly flushes the whole pipeline (all AA regs
in the AA state are *unpipelined*).
2010-06-27 15:13:13 +02:00
Marek Olšák
bb47d1c26f
r300g: turn invariant state into a command buffer
2010-06-27 15:13:12 +02:00
Marek Olšák
8959f48bce
r300g: initialize some crucial state in the first CS
2010-06-27 15:13:08 +02:00
Marek Olšák
fcacc6a076
r300g: introduce VAP invariant state
...
Unlike other invariant states, this one must be emitted after VAP flush.
2010-06-26 17:57:20 +02:00
Marek Olšák
8350d1d6f1
r300g: immediate mode cleanup
2010-06-26 17:47:32 +02:00
Marek Olšák
5acdfdbf42
r300g: update my notes about fastfill and zbuffer compression
2010-06-26 17:43:58 +02:00
Marek Olšák
f39800b339
r300g: enum r300_blitter_op is a bitmask
2010-06-26 17:35:56 +02:00
Brian Paul
e099ed2c64
softpipe: rename a var
2010-06-25 09:56:22 -06:00
Brian Paul
cc8c142e2a
llvmpipe: fix comment typo
2010-06-25 08:47:22 -06:00
Brian Paul
fd60bf8e33
softpipe: fix comment typo
2010-06-25 08:47:22 -06:00
Marek Olšák
5d1cc93077
r300g: a couple more chipsets do not have HiZ RAM
2010-06-24 22:24:22 +02:00
Corbin Simpson
484bb0ea58
glhd: Add test for logicop enable.
...
Only for first RT at the moment, as there is no trivial way in galahad
to look at framebuffer state and (sadly) people don't usually calloc
their CSOs, so flags could be wrongly set.
On the other hand, of course, galahad will hopefully encourage more
people to calloc their CSOs. :3
2010-06-24 07:22:29 -07:00
Marek Olšák
f2122d4724
r300g: remove an XXX comment
2010-06-24 06:15:45 +02:00
Marek Olšák
69adebf594
r300g: move AA registers into the new AA state
2010-06-24 06:10:47 +02:00
Marek Olšák
93bce03b27
r300g: separate the cache flush from the framebuffer state
2010-06-24 06:10:47 +02:00
Marek Olšák
a2f14153cc
r300g: reorder and cleanup register writes everywhere
2010-06-24 06:10:47 +02:00
Marek Olšák
6b15a8d2af
r300g: add "has HiZ" flag, add ZMask regs
2010-06-24 06:10:47 +02:00
Jakob Bornecrantz
9ca563a9a8
nouveau: Remove reference to drm_api
2010-06-24 02:36:30 +02:00
Jakob Bornecrantz
e47d32d721
gallium: Remove drm_api and all references to it
2010-06-24 02:15:50 +02:00
Jakob Bornecrantz
92fde20de3
r600g: Move bootstrap code to target
2010-06-24 02:15:50 +02:00