José Fonseca [Sat, 16 Jan 2010 23:21:06 +0000 (23:21 +0000)]
Merge remote branch 'origin/master' into lp-binning
Conflicts:
src/gallium/drivers/llvmpipe/lp_quad.h
src/gallium/drivers/llvmpipe/lp_setup.c
Keith Whitwell [Sat, 16 Jan 2010 21:11:01 +0000 (21:11 +0000)]
util: add generic ringbuffer utitilty
Chia-I Wu [Sat, 16 Jan 2010 17:16:11 +0000 (18:16 +0100)]
gallium: Fix uninitialized instance divisor and index.
Christoph Bumiller [Sat, 16 Jan 2010 16:58:35 +0000 (17:58 +0100)]
nv50: fix tile flags for scanout tex usage
Christoph Bumiller [Sat, 16 Jan 2010 14:39:32 +0000 (15:39 +0100)]
nv50: handle all and more system values
Christoph Bumiller [Sat, 16 Jan 2010 12:25:55 +0000 (13:25 +0100)]
nv50: hook up geometry programs
Christoph Bumiller [Sat, 16 Jan 2010 10:36:03 +0000 (11:36 +0100)]
nv50: support for geometry programs in nv50_program
Christoph Bumiller [Sat, 16 Jan 2010 15:57:34 +0000 (16:57 +0100)]
nv50: get access to primitive input space
Vertex data in geometry programs is located in p[] space.
The base address in p[] for vertex i is located in vertex
attribute space, i.e. a[i << 2].
This means p[] is always accessed with an address register,
and I had to to mess with their allocation once again.
Also fixes negative offsets e.g. CONST[ADDR[0].x - 3].
Alex Deucher [Sat, 16 Jan 2010 13:45:08 +0000 (08:45 -0500)]
r600: remove stray END_BATCH in blit code
Jakob Bornecrantz [Sat, 16 Jan 2010 09:30:28 +0000 (09:30 +0000)]
draw: Fix memory leak in gs code
Dave Airlie [Sat, 16 Jan 2010 09:28:45 +0000 (19:28 +1000)]
i965g: make xorg state tracker build i965g_drv.so
don't make modesetting_drv.so anymore
Alex Deucher [Sat, 16 Jan 2010 03:56:55 +0000 (22:56 -0500)]
r600: improve blit support
- fill in more src/dst formats
- disable depth copies for now
- set proper data formats in render target regs
- fill in additional default state
The swizzles on some of the less used mesa formats
are probably wrong.
Andre Maasikas [Sat, 16 Jan 2010 02:23:31 +0000 (21:23 -0500)]
r600: add initial blit support
Alex Deucher [Fri, 15 Jan 2010 21:41:27 +0000 (16:41 -0500)]
r600: add r600_blit.c
Unfinished.
Patrice Mandin [Fri, 15 Jan 2010 21:29:13 +0000 (22:29 +0100)]
nouveau: nv30: Remove useless variables fs, txp. Also do not change txf, as bit 13 is in the texture format
Signed-off-by: Patrice Mandin <patmandin@gmail.com>
Brian Paul [Fri, 15 Jan 2010 19:06:00 +0000 (12:06 -0700)]
llvmpipe: implement scissor test in triangle setup
Brian Paul [Fri, 15 Jan 2010 18:52:13 +0000 (11:52 -0700)]
llvmpipe: remove lp_rast_triangle::min/max fields
These values aren't needed outside the do_triangle_ccw() function.
Brian Paul [Fri, 15 Jan 2010 18:35:28 +0000 (11:35 -0700)]
llvmpipe: skip 4x4 in/out test code
It's a litte faster to just do the in/out testing in the shader
jit code.
Brian Paul [Fri, 15 Jan 2010 18:26:35 +0000 (11:26 -0700)]
llvmpipe: added comment about lookup-tables vs. computation
Brian Paul [Fri, 15 Jan 2010 18:25:13 +0000 (11:25 -0700)]
llvmpipe: change 'in' to boolean, add comments
Brian Paul [Fri, 15 Jan 2010 18:21:16 +0000 (11:21 -0700)]
llvmpipe: generate two shader varients, one omits triangle in/out testing
When we know that a 4x4 pixel block is entirely inside of a triangle
use the jit function which omits the in/out test code.
Results in a few percent speedup in many tests.
Michal Krol [Fri, 15 Jan 2010 16:43:04 +0000 (17:43 +0100)]
util: Handle FORMAT_Z32_FLOAT in util_pack_z().
Michal Krol [Fri, 15 Jan 2010 16:42:38 +0000 (17:42 +0100)]
util: Handle the remaining formats in pipe_put_tile_rgba().
Michal Krol [Fri, 15 Jan 2010 16:42:07 +0000 (17:42 +0100)]
util: Fix encoding for R8G8B8A8_UNORM formats and friends.
Michal Krol [Fri, 15 Jan 2010 13:05:04 +0000 (14:05 +0100)]
tgsi: Add ureg_property_gs_input_prim().
Michal Krol [Fri, 15 Jan 2010 12:32:55 +0000 (13:32 +0100)]
tgsi: Add ureg_src_dimension().
Michal Krol [Mon, 11 Jan 2010 19:53:28 +0000 (20:53 +0100)]
regress: Add .gitgnore for *.png files.
Michal Krol [Fri, 15 Jan 2010 11:20:39 +0000 (12:20 +0100)]
draw: Add missing header include.
Brian Paul [Fri, 15 Jan 2010 17:25:59 +0000 (10:25 -0700)]
llvmpipe: asst code changes in lp_state_fs.c
Roland Scheidegger [Fri, 15 Jan 2010 17:25:14 +0000 (18:25 +0100)]
gallium: document set_constant_buffer
Roland Scheidegger [Fri, 15 Jan 2010 17:09:45 +0000 (18:09 +0100)]
Merge branch 'gallium-noconstbuf'
Conflicts:
src/gallium/drivers/softpipe/sp_draw_arrays.c
src/mesa/state_tracker/st_draw_feedback.c
Brian Paul [Fri, 15 Jan 2010 17:04:16 +0000 (10:04 -0700)]
llvmpipe: put labels on some value refs
Roland Scheidegger [Fri, 15 Jan 2010 16:55:42 +0000 (17:55 +0100)]
gallium: remove set_edgeflags from docs
Brian Paul [Fri, 15 Jan 2010 16:16:26 +0000 (09:16 -0700)]
llvmpipe: add extra flags to DEFINES, no CFLAGS
Doesn't make any real difference but -D flags are put into DEFINES
everywhere else.
Brian Paul [Fri, 15 Jan 2010 16:02:52 +0000 (09:02 -0700)]
configs: remove -ansi from linux-debug
-ansi implies -std=c89 but that conflicts with the -std=c99 flag
which is also provided.
Allows the r300g driver to compile.
Michal Krol [Fri, 15 Jan 2010 10:40:03 +0000 (11:40 +0100)]
tgsi: Fix sanity checks for indirect registers.
Chia-I Wu [Fri, 15 Jan 2010 10:10:54 +0000 (18:10 +0800)]
st/egl_g3d: Avoid validation upon buffer swap or flush frontbuffer.
With screen->update_buffer being hooked, leave the job to the state
trackers.
Chia-I Wu [Fri, 15 Jan 2010 09:45:52 +0000 (17:45 +0800)]
st/egl_g3d: Hook to update_buffer of the pipe screen.
It is a notification from the client APIs that the surface size might
have changed.
Chia-I Wu [Fri, 15 Jan 2010 09:39:49 +0000 (17:39 +0800)]
st/egl_g3d: Always override flush_frontbuffer.
Instead of letting the native displays install their own version of
flush_frontbuffer, always override the callback with a version that
calls the flush_frontbuffer of the native surface.
Michal Krol [Fri, 15 Jan 2010 06:52:18 +0000 (07:52 +0100)]
st/mesa: Initialise vertex element instance divisor to 0.
Luca Barbieri [Fri, 15 Jan 2010 06:28:18 +0000 (07:28 +0100)]
draw: Add GALLIUM_DUMP_VS environment variable.
Add GALLIUM_DUMP_VS to dump the vertex shader to the console like
GALLIUM_DUMP_FS in softpipe.
Brian Paul [Fri, 15 Jan 2010 02:22:36 +0000 (19:22 -0700)]
progs/trival: updated tri-scissor-tri.c test
The scissor left/right/bottom/top bounds can be moved by pressing
the l/r/b/t and L/R/B/T keys.
Brian Paul [Fri, 15 Jan 2010 02:15:00 +0000 (19:15 -0700)]
llvmpipe: implement scissor testing
The scissor test is implemented as another per-quad operation in
the JIT code. The four scissor box params are passed via the
lp_jit_context. In the JIT code we compare the quad's x/y coords
against the clip bounds and create a new in/out mask that's AND'd
with the main quad mask.
Note: we should also do scissor testing in the triangle setup code
to improve efficiency. That's not done yet.
Brian Paul [Fri, 15 Jan 2010 02:08:19 +0000 (19:08 -0700)]
llvmpipe: minor comment update
Brian Paul [Fri, 15 Jan 2010 02:05:55 +0000 (19:05 -0700)]
llvmpipe: clean-up, fixing up frame dump/debug code
Brian Paul [Fri, 15 Jan 2010 02:04:40 +0000 (19:04 -0700)]
gallium/util: added debug_dump_texture() and ppm output
Now we can get dump debug images on Linux too.
Brian Paul [Thu, 14 Jan 2010 23:21:49 +0000 (16:21 -0700)]
llvmpipe: remove redundant code in llvmpipe_set_blend_color()
Jakob Bornecrantz [Thu, 14 Jan 2010 22:51:25 +0000 (22:51 +0000)]
r300g: Build driver by default
Do the auto trick that is used for both i915, i965 and svga.
Jakob Bornecrantz [Thu, 14 Jan 2010 22:31:04 +0000 (22:31 +0000)]
Merge branch 'mesa_7_7_branch'
Conflicts:
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
src/gallium/auxiliary/util/Makefile
src/gallium/drivers/r300/r300_state_derived.c
Brian Paul [Thu, 14 Jan 2010 21:19:16 +0000 (14:19 -0700)]
llvmpipe: assorted clean-ups in texture code
Michal Krol [Thu, 14 Jan 2010 17:55:52 +0000 (18:55 +0100)]
gallium: Document drawing commands.
Michal Krol [Thu, 14 Jan 2010 17:11:41 +0000 (18:11 +0100)]
Merge branch 'instanced-arrays'
Conflicts:
src/gallium/drivers/softpipe/sp_draw_arrays.c
Corbin Simpson [Thu, 14 Jan 2010 16:25:46 +0000 (08:25 -0800)]
r300g: Cleanup from last few commits.
Strangely enough, the code solidified pretty quickly.
Łukasz Krotowski [Thu, 14 Jan 2010 09:05:02 +0000 (10:05 +0100)]
r300g: Really destroy translated buffer at the end.
Note that indexSize is changed by r300_translate_elts(). Also make sure
it's destroyed on errors.
Brian Paul [Thu, 14 Jan 2010 16:38:47 +0000 (09:38 -0700)]
progs/trivial: test user clip plane in tri-point-line-clipped.c
Brian Paul [Thu, 14 Jan 2010 16:21:18 +0000 (09:21 -0700)]
progs/trivial: test glPolygonMode(POINT/LINE) with frustum clipping
Note whether the new verts introduced by clipping show up as points
and lines along the edge of the window...
Brian Paul [Thu, 14 Jan 2010 01:24:15 +0000 (18:24 -0700)]
gallium/util: silence warning about array initializers
Chia-I Wu [Thu, 14 Jan 2010 09:29:12 +0000 (17:29 +0800)]
egl_g3d: Check if the creation of pipe or st context fails.
It should not return an incomplete EGLContext to the users.
Chia-I Wu [Tue, 12 Jan 2010 10:08:02 +0000 (18:08 +0800)]
st/egl_g3d: Use a sequence number to decide if validation is required.
It is not safe to assume that the native surface has not changed since
the last validation by checking the geometry alone. Add a sequence
number to "validate" callback for that purpose. This is inspired by
Luca Barbieri's work.
Vinson Lee [Thu, 14 Jan 2010 07:28:00 +0000 (23:28 -0800)]
st/mesa: Remove unnecessary header from st_program.c.
Vinson Lee [Thu, 14 Jan 2010 07:16:05 +0000 (23:16 -0800)]
st/mesa: Remove unnecessary header from st_texture.c.
Vinson Lee [Thu, 14 Jan 2010 07:01:03 +0000 (23:01 -0800)]
swrast: Remove unnecessary header from s_accum.c.
Vinson Lee [Thu, 14 Jan 2010 06:58:07 +0000 (22:58 -0800)]
swrast: Remove unnecessary header from s_atifragshader.c.
Vinson Lee [Thu, 14 Jan 2010 06:45:54 +0000 (22:45 -0800)]
swrast: Remove unnecessary header from s_bitmap.c.
Vinson Lee [Thu, 14 Jan 2010 06:43:16 +0000 (22:43 -0800)]
swrast: Remove unnecessary headers from s_copypix.c.
Vinson Lee [Thu, 14 Jan 2010 06:36:01 +0000 (22:36 -0800)]
swrast: Remove unnecessary header from s_depth.c.
Vinson Lee [Thu, 14 Jan 2010 06:30:04 +0000 (22:30 -0800)]
swrast: Remove unnecessary header from s_drawpix.c.
Vinson Lee [Thu, 14 Jan 2010 06:20:44 +0000 (22:20 -0800)]
swrast: Remove unnecessary header from s_feedback.c.
Corbin Simpson [Thu, 14 Jan 2010 04:46:53 +0000 (20:46 -0800)]
gallium/docs: Random things sitting around in my stash.
Corbin Simpson [Thu, 14 Jan 2010 04:44:49 +0000 (20:44 -0800)]
r300g: Use indices to translate index buffers of ubytes.
progs/redbook/aapoly, among others, works fine now.
Corbin Simpson [Thu, 14 Jan 2010 02:37:17 +0000 (18:37 -0800)]
radeong: Change DRI driver name to radeong.
Corbin Simpson [Thu, 14 Jan 2010 02:36:54 +0000 (18:36 -0800)]
r300g: Disable immediate mode rendering for now.
Will re-enable when the bugs are ironed out.
Brian Paul [Thu, 14 Jan 2010 01:58:38 +0000 (18:58 -0700)]
llvmpipe: use one loop in lp_rast_clear_zstencil()
This is just a tiny bit faster.
Brian Paul [Thu, 14 Jan 2010 01:54:48 +0000 (18:54 -0700)]
llvmpipe: optimize lp_rast_clear_color() for non-gray colors
This makes a big difference in progs that clear to a non-gray color.
Some demos are 30-50% faster.
Brian Paul [Thu, 14 Jan 2010 01:01:45 +0000 (18:01 -0700)]
llvmpipe: minor assorted clean-ups
Brian Paul [Wed, 13 Jan 2010 23:55:54 +0000 (16:55 -0700)]
gallium/draw: s/clipper/clip_stage/ to be consistant with other stages
Brian Paul [Wed, 13 Jan 2010 23:54:00 +0000 (16:54 -0700)]
gallium/draw: whitespace and comments
Brian Paul [Wed, 13 Jan 2010 23:48:57 +0000 (16:48 -0700)]
gallium/draw: remove always-true conditional
Brian Paul [Wed, 13 Jan 2010 23:46:53 +0000 (16:46 -0700)]
gallium: remove forward struct decl
Other struct types (like pipe_texture) are referenced before they're
defined so no reason to special-case this one.
Jesse Barnes [Thu, 14 Jan 2010 00:01:51 +0000 (19:01 -0500)]
DRI2: don't send DRI2 requests the server doesn't know about
At init time, NULL out the hooks that send the server new requests.
DRI2 never supported these extensions, so this preserves old behavior on
old servers with new Mesa.
Jesse Barnes [Wed, 13 Jan 2010 23:42:55 +0000 (18:42 -0500)]
GLX/DRI2: pass X drawable ID instead
These happened to be the same in my testing since I was using apps that
depend on the GLX 1.2 behavior where X and GLX drawables are
interchangeable.
Brian Paul [Wed, 13 Jan 2010 22:32:55 +0000 (15:32 -0700)]
llvmpipe: check render targets before other textures
Brian Paul [Wed, 13 Jan 2010 22:30:42 +0000 (15:30 -0700)]
llvmpipe: also check render target textures in lp_setup_is_texture_referenced()
Brian Paul [Wed, 13 Jan 2010 22:03:42 +0000 (15:03 -0700)]
llvmpipe: indentation fixes
Brian Paul [Wed, 13 Jan 2010 22:01:35 +0000 (15:01 -0700)]
llvmpipe: re-get scene pointer after flushing
Brian Paul [Wed, 13 Jan 2010 21:51:26 +0000 (14:51 -0700)]
llvmpipe: check for texture usage in all scenes
Brian Paul [Wed, 13 Jan 2010 20:54:46 +0000 (13:54 -0700)]
llvmpipe: add scene texture referencing code
Brian Paul [Wed, 13 Jan 2010 20:43:58 +0000 (13:43 -0700)]
llvmpipe: added scene functions for texture reference counting
When a texture is used in the scene we add it to a list of texture
references. The lp_scene_is_textured_referenced() function tells
us if a texture is referenced by the scene.
Brian Paul [Wed, 13 Jan 2010 17:58:36 +0000 (10:58 -0700)]
llvmpipe: comments
Brian Paul [Wed, 13 Jan 2010 17:58:13 +0000 (10:58 -0700)]
llvmpipe: comments
Brian Paul [Wed, 13 Jan 2010 17:57:44 +0000 (10:57 -0700)]
llvmpipe: added llvmpipe_texture_const()
Brian Paul [Wed, 13 Jan 2010 17:22:02 +0000 (10:22 -0700)]
llvmpipe: minor comment upgrades
José Fonseca [Wed, 13 Jan 2010 22:07:24 +0000 (22:07 +0000)]
llvmpipe: Opaque shader implies complete colormask too.
José Fonseca [Wed, 13 Jan 2010 21:51:47 +0000 (21:51 +0000)]
llvmpipe: Reset the bin when shading a whole tile with an opaque shader.
Jesse Barnes [Wed, 13 Jan 2010 20:48:14 +0000 (15:48 -0500)]
GLX: use glproto CFLAGS etc. when building
Roll the glproto check into the dri2proto and libdrm check so we get the
proper CFLAGS and LDFLAGS for the package.
Keith Whitwell [Wed, 13 Jan 2010 20:14:04 +0000 (20:14 +0000)]
llvmpipe: add bin debugger
Adjust definition of empty_bin according to what's actually in empty
bins. We often have a state packet before/after load commands.
Still need to do something about the fence packets.
Keith Whitwell [Wed, 13 Jan 2010 16:52:17 +0000 (16:52 +0000)]
llvmpipe: implement lp_rast_load_zstencil
Load zbuffer contents for binned scenes that don't start with a clear
and which have a bound zbuffer.
Thomas Hellstrom [Wed, 13 Jan 2010 16:40:41 +0000 (17:40 +0100)]
st/dri: Make sure we always request a fake front.
This should be the correct, but sub-optimal way to handle things on
pre-1.7 servers. For servers that automatically adds a fake front
we should never request the fake front and handle the reply differently.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Brian Paul [Wed, 13 Jan 2010 16:32:10 +0000 (09:32 -0700)]
llvmpipe: added debug warning
Brian Paul [Wed, 13 Jan 2010 16:31:36 +0000 (09:31 -0700)]
llvmpipe: comments and LLVMValueRef naming