Eric Anholt [Thu, 10 Jun 2010 00:19:40 +0000 (17:19 -0700)]
i965: GC the last two arguments to brw_cache_data.
Now that the binding table is streamed indirect state, they were
always NULL/0.
Eric Anholt [Tue, 8 Jun 2010 06:04:09 +0000 (23:04 -0700)]
i965: Remove brw_state_cache_bo_delete now that it's unused again.
Eric Anholt [Fri, 11 Jun 2010 06:45:51 +0000 (23:45 -0700)]
i965: Remove caching of surface state objects.
It turns out that computing a 56 byte key to look up a 20-byte object
out of a hash table was some sort of a bad idea. Whoops.
before:
[ # ] backend test min(s) median(s) stddev. count
[ 0] gl firefox-talos-gfx 37.799 38.203 0.39% 6/6
after:
[ 0] gl firefox-talos-gfx 34.761 34.784 0.17% 5/6
Eric Anholt [Mon, 7 Jun 2010 16:25:10 +0000 (09:25 -0700)]
i965: Convert the binding table to streamed indirect state.
This slightly reduces reduces cairo-gl firefox-talos-gfx runtime on my
Ironlake:
before:
[ # ] backend test min(s) median(s) stddev. count
[ 0] gl firefox-talos-gfx 38.236 38.383 0.43% 5/6
after:
[ 0] gl firefox-talos-gfx 37.799 38.203 0.39% 6/6
It turns out the cost of caching these objects and looking them up in
the cache again is greater than the cost of just computing the object
again, particularly when the overhead of having a separate BO to pin
is removed.
(Those that are paying close attention will note that this is a
reversal of the path I was moving the driver in a couple of years ago.
The major thing that has changed is that back then all state was
recomputed when we wrapped the streaming state buffer, including
recompiling our precious programs. Now, we're uncaching just the
objects that are cheap to compute, and retaining caching of expensive
objects)
Eric Anholt [Fri, 11 Jun 2010 00:09:21 +0000 (17:09 -0700)]
i965: Split constant buffer setup from its surface state/binding state.
This was bothering me when redoing the binding tables.
Eric Anholt [Thu, 11 Mar 2010 22:33:00 +0000 (14:33 -0800)]
i965: Add support for streaming indirect state rather than caching objects.
Eric Anholt [Thu, 10 Jun 2010 05:24:14 +0000 (22:24 -0700)]
i965: Set the CC VP state immediately on state change.
The cache lookup of these two little floats was .12% of total CPU time
on firefox-talos-gfx because we did it any time commonly-changed state
changed. On the other hand, updating the CC VP bo immediately whenver
CC VP state changes is a .07% overhead due to putting a driver hoook
in glEnable().
Eric Anholt [Thu, 10 Jun 2010 00:16:05 +0000 (17:16 -0700)]
i965: Update old comment about state cache sizing.
Eric Anholt [Thu, 10 Jun 2010 00:48:15 +0000 (17:48 -0700)]
i965: Move no_batch_wrap assertion out across the area we're trying to verify.
It's more likely that we wrap badly in state setup than in the little
primitive packet.
Brian Paul [Sat, 5 Jun 2010 13:30:01 +0000 (07:30 -0600)]
i965: remove UseProgram driver callback
It just duplicated the default/core Mesa behaviour.
Chia-I Wu [Fri, 11 Jun 2010 04:47:14 +0000 (12:47 +0800)]
docs: Update EGL doc.
Update for recent removal of demos and additions of new displays and
functions.
Chia-I Wu [Fri, 11 Jun 2010 04:29:01 +0000 (12:29 +0800)]
st/egl: Do not build non-working driver combinations.
The KMS backend requires a hardware pipe driver. Do not build
egl_kms_swrast. Also, only build egl_fbdev_swrast for fbdev backend.
It is a pure software backend.
Chia-I Wu [Thu, 3 Jun 2010 11:52:15 +0000 (19:52 +0800)]
st/egl: Add fbdev backend.
The backend is pure software. It implements EGL_MESA_screen_surface
extension, and is kept simple by only exporting the current mode.
Chia-I Wu [Thu, 3 Jun 2010 10:08:48 +0000 (18:08 +0800)]
winsys: Add fbdev software winsys.
This is a simple winsys that mmap()s the framebuffer device and
memcpy()s the contents of display targets to the framebuffer device for
displaying.
Vinson Lee [Thu, 10 Jun 2010 22:52:04 +0000 (15:52 -0700)]
st/egl: Remove unnecessary header.
Vinson Lee [Thu, 10 Jun 2010 22:47:37 +0000 (15:47 -0700)]
intel: Remove unnecessary header.
Zack Rusin [Thu, 10 Jun 2010 19:25:30 +0000 (15:25 -0400)]
draw: forgot to add a file
Zack Rusin [Thu, 10 Jun 2010 19:23:01 +0000 (15:23 -0400)]
draw: rewrite geometry shader pipeline
done to handle strips correctly as inputs - we need to decompose
the strips
Zack Rusin [Thu, 10 Jun 2010 17:20:15 +0000 (13:20 -0400)]
gs: give our test an option of rendering a strip
Zack Rusin [Thu, 10 Jun 2010 17:07:27 +0000 (13:07 -0400)]
draw: geometry shader fixes
don't overwrite the inputs and make sure the correct primitive
is used on entry
Zack Rusin [Thu, 10 Jun 2010 09:15:55 +0000 (05:15 -0400)]
draw: make sure that the gs never outputs more data than we allocated for
Vinson Lee [Thu, 10 Jun 2010 07:33:25 +0000 (00:33 -0700)]
r300g: Fix memory leak on error path.
Eric Anholt [Tue, 25 May 2010 18:45:05 +0000 (11:45 -0700)]
i965: Add support for GL_ALPHA framebuffer objects.
Eric Anholt [Tue, 25 May 2010 15:00:51 +0000 (08:00 -0700)]
mesa: Allow GL_ALPHA FBOs with ARB_framebuffer_object.
Drivers still reject them today, but cairo would like to use these.
Eric Anholt [Thu, 10 Jun 2010 07:15:48 +0000 (00:15 -0700)]
swrast: When reading from a 0-bits r,g,b channel, return 0 not 1.
It looks like we were reading a fractional value, multiplying by an
enormous negative value, then stuffing that value into a bitfield
assuming it was already clamped. This becomes relevant for GL_ALPHA
or R/RG FBOs.
Eric Anholt [Wed, 9 Jun 2010 20:54:24 +0000 (13:54 -0700)]
intel: Use the blitter to upload TexSubImage data to busy textures.
This avoids many pipeline stalls in cairo-gl.
[ # ] backend test min(s) median(s) stddev. count
Before:
[ 0] gl firefox-talos-gfx 36.799 36.851 2.34% 3/3
[ 0] gl firefox-talos-svg 33.429 35.360 3.46% 3/3
After:
[ 0] gl firefox-talos-gfx 35.895 36.250 0.48% 3/3
[ 0] gl firefox-talos-svg 26.669 29.888 5.34% 3/3
This doesn't avoid all the pipeline stalls because the kernel reports
!busy for buffers on the flushing list. That should be fixed in .36.
Eric Anholt [Tue, 8 Jun 2010 20:55:53 +0000 (13:55 -0700)]
i965: Avoid calloc/free in the CURBE upload process.
In exchange we end up with an extra memcpy, but that seems better than
calloc/free. Each buffer is 4k maximum, and on the i965-streaming
branch this allocation was showing up as the top entry in
brw_validate_state profiling for cairo-gl.
Marek Olšák [Wed, 9 Jun 2010 19:29:26 +0000 (21:29 +0200)]
r300g: try harder to create a transfer object
I was told this wouldn't help to fix the FDO bug #28443, but still,
it's a harmless last resort.
Also, linear textures safely fallback to an unpipelined transfer here.
Zack Rusin [Wed, 9 Jun 2010 19:01:36 +0000 (15:01 -0400)]
draw: make sure geometry shader correctly iterates the output buffer
Marek Olšák [Wed, 9 Jun 2010 18:22:27 +0000 (20:22 +0200)]
r300g: debug output texture size
Marek Olšák [Wed, 9 Jun 2010 18:16:00 +0000 (20:16 +0200)]
r300g: return NULL texture early if buffer_create fails
Zack Rusin [Wed, 9 Jun 2010 18:11:43 +0000 (14:11 -0400)]
draw: make sure the buffer is big enough to fit everything emitted by the gs
Roland Scheidegger [Wed, 9 Jun 2010 16:46:48 +0000 (18:46 +0200)]
llvmpipe: fix copy & paste bug in clear logic
fixes bug 28450.
Zack Rusin [Wed, 9 Jun 2010 15:59:53 +0000 (11:59 -0400)]
draw: fix geometry shader which emit multiplie primitives
Zack Rusin [Wed, 9 Jun 2010 15:44:19 +0000 (11:44 -0400)]
graw: add a multiple primitive geometry shader test
Zack Rusin [Wed, 9 Jun 2010 15:29:45 +0000 (11:29 -0400)]
nv: fix compile after the latest gs changes
Zack Rusin [Wed, 9 Jun 2010 15:13:34 +0000 (11:13 -0400)]
geometry shaders: make gs work with changable primitives and variable number of vertices
lots and lots of fixes for geometry shaders. in particular now we work when the gs
emits a different primitive than the one the pipeline was started with and also
we work when gs emits more vertices than would fit in the original buffer.
Thomas Hellstrom [Tue, 8 Jun 2010 01:33:18 +0000 (03:33 +0200)]
xorg/vmwgfx: Disable 3D by default.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Thomas Hellstrom [Tue, 8 Jun 2010 01:28:37 +0000 (03:28 +0200)]
st/xorg: Add a customizable option to disable 3D.
If no customizer is present, 3D will be enabled by default.
Otherwise the option will default to the customizer value.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Ben Skeggs [Wed, 9 Jun 2010 01:58:07 +0000 (11:58 +1000)]
nvfx: fix typo from gallium-msaa merge
Ben Skeggs [Wed, 9 Jun 2010 01:57:31 +0000 (11:57 +1000)]
nv50: fix typo from gallium-msaa merge
Ben Skeggs [Wed, 9 Jun 2010 01:26:46 +0000 (11:26 +1000)]
nv50: use MARK_RING correctly
Vinson Lee [Wed, 9 Jun 2010 00:39:51 +0000 (17:39 -0700)]
draw: Remove unnecessary headers.
Marek Olšák [Wed, 9 Jun 2010 00:19:59 +0000 (02:19 +0200)]
r600g: save vertex buffers in blitter
Marek Olšák [Wed, 9 Jun 2010 00:19:33 +0000 (02:19 +0200)]
r300g: save vertex buffers in blitter
Marek Olšák [Wed, 9 Jun 2010 00:13:10 +0000 (02:13 +0200)]
util: reference vertex buffers in blitter
Marek Olšák [Tue, 8 Jun 2010 22:26:28 +0000 (00:26 +0200)]
r300g: report that transfers are always supported
Marek Olšák [Tue, 8 Jun 2010 22:18:02 +0000 (00:18 +0200)]
r300g: fix loading compressed textures
Marek Olšák [Tue, 8 Jun 2010 21:45:11 +0000 (23:45 +0200)]
r300g: skip rendering for unsupported vertex formats instead of aborting
The next step is to replace skipping by an actual fallback.
Eric Anholt [Tue, 8 Jun 2010 00:42:03 +0000 (17:42 -0700)]
intel: Flag NEW_BUFFERS when changing draw buffers.
There were entries to this function (most imporantly, prepare_render
-> update_renderbuffers) that wouldn't have had NEW_BUFFERS set, but
brw_wm_surface_state (the i965 state tracking the drawing regions)
expected this to change.
Eric Anholt [Mon, 7 Jun 2010 16:52:14 +0000 (09:52 -0700)]
intel: Convert remaining dri_bo_emit_reloc to drm_intel_bo_emit_reloc.
The new API makes so much more sense, I'd like to forget how the old
one worked.
Eric Anholt [Mon, 7 Jun 2010 16:52:57 +0000 (09:52 -0700)]
intel: Change dri_bo_* to drm_intel_bo* to consistently use new API.
The slightly less mechanical change of converting the emit_reloc calls
will follow.
Eric Anholt [Mon, 7 Jun 2010 15:45:07 +0000 (08:45 -0700)]
intel: Clean up stale comments in intel_batchbuffer.c.
Eric Anholt [Mon, 7 Jun 2010 15:39:33 +0000 (08:39 -0700)]
intel: Remove the non-gem paths for batchbuffer upload.
Eric Anholt [Fri, 4 Jun 2010 22:34:31 +0000 (15:34 -0700)]
intel: Update comment in intel_tex_copy from before miptree x/y rework.
Zack Rusin [Tue, 8 Jun 2010 20:20:25 +0000 (16:20 -0400)]
softpipe: make sure we don't fallback to assert on so stats query
spotted by Vinson
Zack Rusin [Tue, 8 Jun 2010 20:18:38 +0000 (16:18 -0400)]
softpipe: make sure that invalid calls to sosettargets don't crash us
Henri Verbeet [Tue, 8 Jun 2010 19:29:35 +0000 (15:29 -0400)]
r600: Make next_inst() static.
Henri Verbeet [Tue, 8 Jun 2010 19:29:04 +0000 (15:29 -0400)]
r600: Assert output registers have a valid export index.
Henri Verbeet [Tue, 8 Jun 2010 19:28:32 +0000 (15:28 -0400)]
r600: Process exports for all written fragment outputs.
Henri Verbeet [Tue, 8 Jun 2010 19:27:44 +0000 (15:27 -0400)]
r600: Fill uiFP_OutputMap for all written fragment outputs.
Keith Whitwell [Tue, 8 Jun 2010 16:38:01 +0000 (17:38 +0100)]
SConscript: don't build mesa components if mesa not in state trackers
Brian Paul [Tue, 8 Jun 2010 14:21:27 +0000 (08:21 -0600)]
softpipe: added sp_state_so.c to file list
Zack Rusin [Mon, 7 Jun 2010 18:27:47 +0000 (14:27 -0400)]
gallium: scream when one of two unimplemented features in draw is used
plus used the correctly specified stride
Zack Rusin [Mon, 7 Jun 2010 16:14:56 +0000 (12:14 -0400)]
gallium: add basic support for stream output queries
Zack Rusin [Thu, 3 Jun 2010 20:12:08 +0000 (16:12 -0400)]
gallium: adjust the query interface to support custom types
we need to change it to support composite types
Zack Rusin [Wed, 2 Jun 2010 16:57:58 +0000 (12:57 -0400)]
gallium: rename draw_auto to draw_stream_output, plus fix a comment
Brian spotted those
Zack Rusin [Tue, 1 Jun 2010 16:47:23 +0000 (12:47 -0400)]
gallium: make draw auto work and add relevant caps and docs
Zack Rusin [Tue, 1 Jun 2010 00:41:18 +0000 (20:41 -0400)]
gallium: add interface for DrawAuto and implement it in softpipe
Zack Rusin [Mon, 31 May 2010 06:20:34 +0000 (02:20 -0400)]
gallium: a lot more complete implementation of stream output
interface wise we have everything needed by d3d10 and gl transform feedback.
the draw module misses implementation of some corner cases (e.g. when stream
output wants different number of components per output than normal rendering
paths)
Zack Rusin [Fri, 28 May 2010 17:14:07 +0000 (13:14 -0400)]
gallium: basic and initial implementation of the stream output interface
aka transform feedback
Dave Airlie [Sat, 24 Apr 2010 08:53:55 +0000 (18:53 +1000)]
st/mesa: attempt to fix TFP by using sampler views (v1)
Okay I think this is good enough for now, I can't see any other reason
for mesa to want to use a sampler view so lets just leave it at all the A->X conversions for now.
I've been running gnome-shell under r300g with this for day or so and it seems fine.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Jakob Bornecrantz [Tue, 8 Jun 2010 02:24:17 +0000 (04:24 +0200)]
llvmpipe: Add geom shader file to make build
Vinson Lee [Tue, 8 Jun 2010 01:34:13 +0000 (18:34 -0700)]
graw: Fix file handle leaks.
Vinson Lee [Tue, 8 Jun 2010 01:14:34 +0000 (18:14 -0700)]
graw: Remove unnecessary headers.
Vinson Lee [Tue, 8 Jun 2010 01:08:33 +0000 (18:08 -0700)]
sw: Remove unnecessary header.
Jakob Bornecrantz [Sat, 5 Jun 2010 11:33:58 +0000 (13:33 +0200)]
glew: Drop glew now that we don't need it for the progs
configs/beos | 2 +-
configs/darwin | 2 +-
configs/default | 4 +-
configs/freebsd-dri | 2 +-
configs/linux-cell | 2 +-
configs/linux-dri-xcb | 2 +-
configs/linux-indirect | 2 +-
configure.ac | 2 +-
include/GL/glew.h |14435 ------------------------------------------------
include/GL/glxew.h | 1476 -----
include/GL/wglew.h | 1247 -----
src/SConscript | 1 -
src/glew/LICENSE.txt | 73 -
src/glew/Makefile | 54 -
src/glew/SConscript | 69 -
src/glew/glew.c |14320 -----------------------------------------------
src/glew/glewinfo.c | 8441 ----------------------------
src/glew/visualinfo.c | 1173 ----
18 files changed, 8 insertions(+), 41299 deletions(-)
Revert "glew: update to version 1.5.4"
This reverts commit
a189b1c53b6a3b6c055cc86145c8ef48c580e9d0.
Revert "glew: Include X11 headers and libraries in SCons build."
This reverts commit
efdd33985cb38429aeae845a556db2322957e71a.
Revert "scons: Fix GLEW build on Mac OS X."
This reverts commit
8f81769148eab0042ffb7192a702350275648715.
Revert "scons: Use static glew library on Unices to avoid binary compatability issues"
This reverts commit
de22c940a1df66d13825dd15c015eafabb61a11d.
Revert "glew: Update to version 1.5.2."
This reverts commit
aaf7ecfd816f82fef314f4f772cc53bc0ced553e.
Revert "scons: Build glew on all platforms."
This reverts commit
52eb3e4235cc661ab9626a704c555a5f096c628a.
Revert "scons: Put glut and glew shared libraries into build/xxx/bin or lib."
This reverts commit
8a318edd0838ee3343be0425019d93541b621567.
Didn't revert scons/gallium.py
Revert "scons: Fix glew build on MSVC."
This reverts commit
14a8c9dac7ea43ad8a45052e17f7127451344e5a.
Revert "scons: Build progs together with everything else."
This reverts commit
7bbf7f94ea786e41ff1364cedaf7dd5c0bbf605a.
Only changed src/glew/SConscript
Revert "mesa: include glew headers in MesaDemos tarballs"
This reverts commit
c57d81ddc9ba3052ff7f6b72091accab2c2db0ae.
Revert "mesa: include GLEW sources in MesaDemos tarball"
This reverts commit
b9e2e32daf5505896a662dc8df60104c0f51b4b9.
Revert "glew: correct misspelling of glFramebufferTextureLayer"
This reverts commit
1b05b5b4fecd9ac8ef34abdda6c085868016ad84.
Revert "glew: fix GLEW_LIB_NAME"
This reverts commit
c10df26a31b6af5a720fbfd06411d580cd38a2c8.
Revert "Add dummy install target for glew to fix 'make install'"
This reverts commit
c273dfe6a28d4bb64ce167685b4053d22db5a727.
Revert "autoconf: Add GLEW needed by progs when building GLUT"
This reverts commit
2977cee38e21b8e5ebba1635b101185d64ee44a9.
Revert "glew: Build it as a static lib."
This reverts commit
fcf9353fea8343a1a86c8c6e0144c8429440c648.
Revert "glew: Initial import."
This reverts commit
57d00016cab9afa3e7853d9830044a8ece9541c4.
Vinson Lee [Mon, 7 Jun 2010 23:54:18 +0000 (16:54 -0700)]
r600g: Remove unnecessary header.
Vinson Lee [Mon, 7 Jun 2010 23:44:22 +0000 (16:44 -0700)]
llvmpipe: Remove unnecessary header.
Vinson Lee [Mon, 7 Jun 2010 23:34:03 +0000 (16:34 -0700)]
graw: Add gallium library to SCons build.
Fixes MSVC SCons build.
Marek Olšák [Mon, 7 Jun 2010 20:10:47 +0000 (22:10 +0200)]
r300g: fix hardlock caused by an incompatible vertex format
The drivers aborts instead, I am working on a real fix...
Keith Whitwell [Mon, 7 Jun 2010 18:52:43 +0000 (19:52 +0100)]
graw: add gs-test.c and some simple geometry shader examples
Roland Scheidegger [Mon, 7 Jun 2010 18:47:54 +0000 (20:47 +0200)]
softpipe: use util_clear_render_target/depth_stencil fallbacks
Roland Scheidegger [Mon, 7 Jun 2010 18:47:45 +0000 (20:47 +0200)]
llvmpipe: use util_clear_render_target/depth_stencil fallbacks
Roland Scheidegger [Mon, 7 Jun 2010 18:47:07 +0000 (20:47 +0200)]
util: implement util_clear_depth_stencil fallback
this doesn't really look terribly useful for drivers to use, but until
drivers use their own implementation provide this since some state trackers
really want to use these functions.
Keith Whitwell [Mon, 7 Jun 2010 18:37:44 +0000 (19:37 +0100)]
graw: add parse_geometry_shader helper
Keith Whitwell [Mon, 7 Jun 2010 18:37:24 +0000 (19:37 +0100)]
tgsi: null-terminate string in parse_identifier
Hit this parsing geometry shader properties.
Keith Whitwell [Mon, 7 Jun 2010 18:35:31 +0000 (19:35 +0100)]
draw: don't use llvm engine when geometry shaders active
They aren't implemented for llvm.
Keith Whitwell [Mon, 7 Jun 2010 18:34:04 +0000 (19:34 +0100)]
graw: trivial geometry shader test
Keith Whitwell [Mon, 7 Jun 2010 18:05:57 +0000 (19:05 +0100)]
graw: add symlinks to shader test directories
Jakob Bornecrantz [Sun, 6 Jun 2010 11:22:26 +0000 (12:22 +0100)]
i965g: Use Xorg template makefile
Jakob Bornecrantz [Sun, 6 Jun 2010 11:18:40 +0000 (12:18 +0100)]
nouveau: Use Xorg template makefile
Jakob Bornecrantz [Sun, 6 Jun 2010 11:12:54 +0000 (12:12 +0100)]
nouveau: Remove left over argument in drm api
Jakob Bornecrantz [Sun, 6 Jun 2010 10:50:12 +0000 (11:50 +0100)]
r300g: Use Xorg template makefile
Keith Whitwell [Mon, 7 Jun 2010 16:53:43 +0000 (17:53 +0100)]
graw: remove references to unistd.h
Keith Whitwell [Mon, 7 Jun 2010 16:25:45 +0000 (17:25 +0100)]
util: new file u_dirty_flags.h
Keith Whitwell [Mon, 7 Jun 2010 16:22:53 +0000 (17:22 +0100)]
tests/graw: missing file tri.c
Keith Whitwell [Mon, 7 Jun 2010 15:44:40 +0000 (16:44 +0100)]
graw_xlib: build fixes
Keith Whitwell [Mon, 7 Jun 2010 15:43:49 +0000 (16:43 +0100)]
graw: update graw_null after interface changes and build graw tests again
Keith Whitwell [Mon, 31 May 2010 15:43:45 +0000 (16:43 +0100)]
softpipe: remove assert on setting constbufs greater than zero