Christoph Bumiller [Thu, 11 Mar 2010 16:27:12 +0000 (17:27 +0100)]
nv50: fix damage from merging master into sampler-view
Fixed the state array sizes at 3 (instead of PIPE_SHADER_TYPES)
because we'll never have domain and hull shaders on nv50; also
the numbering doesn't correspond to the hw numbering.
Michal Krol [Thu, 11 Mar 2010 14:30:21 +0000 (15:30 +0100)]
gallium: Check for OOM condition when creating a sampler view.
Michal Krol [Thu, 11 Mar 2010 14:25:52 +0000 (15:25 +0100)]
gallium: Use last_level for pipe_sampler_view instead of num_levels.
It's more consistent with the rest of the interfaces.
Michal Krol [Wed, 10 Mar 2010 15:32:34 +0000 (16:32 +0100)]
gallium: pipe_get_tile_swizzle() accepts format parameter.
Enables casting of texture data.
Michal Krol [Wed, 10 Mar 2010 14:49:30 +0000 (15:49 +0100)]
Merge branch 'master' into gallium-sampler-view
Conflicts:
src/gallium/auxiliary/Makefile
src/gallium/auxiliary/SConscript
src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/auxiliary/util/u_blitter.c
src/gallium/drivers/i915/i915_context.h
src/gallium/drivers/i965/brw_context.h
src/gallium/drivers/llvmpipe/lp_context.h
src/gallium/drivers/nv50/nv50_context.h
src/gallium/drivers/nv50/nv50_state_validate.c
src/gallium/drivers/nv50/nv50_tex.c
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_context.h
src/gallium/drivers/r300/r300_emit.c
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/softpipe/sp_context.h
src/gallium/drivers/svga/svga_context.h
src/gallium/drivers/svga/svga_pipe_sampler.c
Michal Krol [Wed, 10 Mar 2010 11:05:25 +0000 (12:05 +0100)]
svga: Disable debug message.
Michal Krol [Wed, 10 Mar 2010 11:04:00 +0000 (12:04 +0100)]
svga: Check if vertex elements has been bound before using it.
José Fonseca [Wed, 10 Mar 2010 12:24:03 +0000 (12:24 +0000)]
softpipe: Prevent NULL dereference.
José Fonseca [Wed, 10 Mar 2010 12:09:16 +0000 (12:09 +0000)]
docs: Update new opengl32.dll target location.
José Fonseca [Wed, 10 Mar 2010 12:05:10 +0000 (12:05 +0000)]
python: Remove broken link hack.
José Fonseca [Wed, 10 Mar 2010 12:00:13 +0000 (12:00 +0000)]
python: More build fixes.
José Fonseca [Wed, 10 Mar 2010 11:52:20 +0000 (11:52 +0000)]
trace: Make tr_public.h c++ friendly.
Keith Whitwell [Wed, 10 Mar 2010 11:49:11 +0000 (11:49 +0000)]
target-helpers: remove swrast_xlib.c helper
This was a good idea, but ended up tying the build systems in knots.
We can revisit this later, in particular if we can put in place dummy
implementations of cell_create_screen(), llvmpipe_create_screen()
which just return NULL if the driver isn't available.
In the meantime, just duplicate this smallish function in the two
places it was being called.
Keith Whitwell [Wed, 10 Mar 2010 11:13:03 +0000 (11:13 +0000)]
ws/xlib: remove dead lines
José Fonseca [Wed, 10 Mar 2010 11:34:09 +0000 (11:34 +0000)]
scons: Fixup the libgl-gdi build.
José Fonseca [Wed, 10 Mar 2010 10:56:51 +0000 (10:56 +0000)]
python: Handle the possibility that no driver is selected.
Keith Whitwell [Wed, 10 Mar 2010 10:43:00 +0000 (10:43 +0000)]
gallium: remove trace module injection from various state trackers
Components such as state trackers, drivers, etc, should be free to be
recombined in arbtrary ways to build driver stacks. They should not
be reaching out and trying to build the stack themselves - this is now
expected to be handled by the "target" abstraction.
Keith Whitwell [Wed, 10 Mar 2010 10:37:41 +0000 (10:37 +0000)]
ws/gdi: add include
Keith Whitwell [Wed, 10 Mar 2010 10:32:16 +0000 (10:32 +0000)]
target-helpers: helper for injecting common debug layers
Add a helper gallium_wrap_screen() for injecting the commonly
used extra layers into a gallium stack. Currently that's just the
trace module and identity layer, but there could be more in the
future, eg. a validation layer.
José Fonseca [Wed, 10 Mar 2010 10:34:29 +0000 (10:34 +0000)]
python: Fix up state tracker for sw api.
José Fonseca [Wed, 10 Mar 2010 10:00:08 +0000 (10:00 +0000)]
Revert "r300-gallium: Skeleton for integrating into the python statetracker."
This reverts commit
2d56d0839e6db0861131893d67fe23734800085a.
Never actually used.
Keith Whitwell [Wed, 10 Mar 2010 09:52:25 +0000 (09:52 +0000)]
st/wgl: add missing paramter
Keith Whitwell [Wed, 10 Mar 2010 09:51:41 +0000 (09:51 +0000)]
trace: include tr_public.h
Keith Whitwell [Wed, 10 Mar 2010 09:22:02 +0000 (09:22 +0000)]
gallium: plumb winsys-drawable-handle through to state tracker
The state trackers need this value so that they can supply it
as the "void *" argument to flush_frontbuffer.
Fixes single-buffer rendering.
Keith Whitwell [Wed, 10 Mar 2010 08:29:27 +0000 (08:29 +0000)]
Merge commit 'origin/master' into gallium-sw-api-2
José Fonseca [Wed, 10 Mar 2010 07:23:29 +0000 (07:23 +0000)]
llvmpipe: Cope with null Vertex element cso.
CSO can often be null.
For example:
1. at initialization
2. using an util module (u_blit) right after initialization (it will push
state and pop the previous null state)
3. at shutdown time (state shouldn't be bound when being destroyed)
Glean was hitting 2.
Ben Skeggs [Wed, 10 Mar 2010 05:22:53 +0000 (15:22 +1000)]
nouveau: translate PIPE_BUFFER_USAGE_UNSYNCHRONIZED
Ben Skeggs [Tue, 9 Mar 2010 05:30:08 +0000 (15:30 +1000)]
nv50: inline nv50_state_flush_notify()
It's (rightly) not called from anywhere else now
Ben Skeggs [Tue, 9 Mar 2010 05:29:12 +0000 (15:29 +1000)]
nv50: remove nv50_context.state.instbuf
Ben Skeggs [Tue, 9 Mar 2010 04:56:46 +0000 (14:56 +1000)]
nv50: remove unnecessary macro
Ben Skeggs [Tue, 9 Mar 2010 04:52:30 +0000 (14:52 +1000)]
nv50: move nv50_prim() into a header file rather than duplicating
Ben Skeggs [Tue, 9 Mar 2010 04:04:14 +0000 (14:04 +1000)]
nv50: add option to force immediate-mode submission, disable by default
Ben Skeggs [Mon, 8 Mar 2010 07:06:38 +0000 (17:06 +1000)]
nv50: re-add immediate mode vertex submission paths
Ben Skeggs [Mon, 8 Mar 2010 03:27:46 +0000 (13:27 +1000)]
nv50: when doing inline indices, split elt lists so they fit into pushbuf
Ben Skeggs [Fri, 5 Mar 2010 03:25:01 +0000 (13:25 +1000)]
nv50: reimplement draw_elements_instance(), use for draw_elements() too
This makes draw_elements()/draw_elements_instanced() do the right thing
for the non-inline elements cases, and not require flush_notify().
Ben Skeggs [Fri, 5 Mar 2010 00:08:12 +0000 (10:08 +1000)]
nv50: reimplement draw_arrays_instanced(), do draw_arrays() in terms of it
This makes draw_arrays()/draw_arrays_instanced() do the right thing and
not require the (probably broken anyway) flush_notify() usage.
It also fixes a potential bug in the behaviour of reading InstanceID from
shaders, where 0 should be read for non-instanced drawing, previously it
was possible to read non-0 ids if mixing instanced/non-instanced.
Ben Skeggs [Thu, 4 Mar 2010 03:47:41 +0000 (13:47 +1000)]
nv50: rip out inline push draw paths temporarily
Ben Skeggs [Thu, 4 Mar 2010 01:13:51 +0000 (11:13 +1000)]
nv50: make use of scissor enable/disable method
Ben Skeggs [Thu, 4 Mar 2010 00:55:50 +0000 (10:55 +1000)]
nv50: move magic 0x142c stuff to after state emission
Ben Skeggs [Wed, 3 Mar 2010 23:52:47 +0000 (09:52 +1000)]
nv50: avoid unnecessary vp/gp/fp state changes
Ben Skeggs [Wed, 3 Mar 2010 05:02:53 +0000 (15:02 +1000)]
nv50: remove pre_pipebuffer_map hack....
Ben Skeggs [Wed, 3 Mar 2010 04:59:28 +0000 (14:59 +1000)]
nv50: remove horrific abuse of nouveau_channel.flush_notify
Really though, using this at all is just not a good idea in the 3D driver.
I'm almost certain the hardware will not like a reloc appearing between
begin()/end().. Anyways, this is still better than before, more fixes
to come..
Ben Skeggs [Wed, 3 Mar 2010 04:55:54 +0000 (14:55 +1000)]
nv50: always emit dummy relocs for all still-referenced buffers
Ben Skeggs [Wed, 3 Mar 2010 04:43:21 +0000 (14:43 +1000)]
nv50: ensure enough room for state changes in current pushbuf
Also allows the nv50_state_validate() caller to request a minimum amount
of space that itself requires, not all callers accurately use this yet
but the simple cases are now accounted for.
Rendering will also be dropped on the floor if validate fails now.
Ben Skeggs [Wed, 3 Mar 2010 04:26:25 +0000 (14:26 +1000)]
nv50: rework state emission
Ben Skeggs [Wed, 3 Mar 2010 01:45:08 +0000 (11:45 +1000)]
nv50: use relocs rather than re-uploading TIC all the time
Corbin Simpson [Wed, 10 Mar 2010 04:03:35 +0000 (20:03 -0800)]
r300g: Reorder regs, save one dword.
Or, put another way, save 10% on rendering calls.
Chia-I Wu [Wed, 10 Mar 2010 02:12:45 +0000 (10:12 +0800)]
winsys/drm: Handle circular dependencies in Makefile.egl.
The libraries have circular dependencies. Use --start-group and
--end-group when producing the final shared libraries.
Chia-I Wu [Wed, 10 Mar 2010 01:48:33 +0000 (09:48 +0800)]
st/egl: Fix build errors in ximage backend after merge.
This fixes assorted merge conflicts when master is merged to
gallium-sw-api-2 in
0c96690a5b6e1c2d114e7ec5f1e9d60a4ff2a330.
Eric Anholt [Tue, 9 Mar 2010 22:22:51 +0000 (14:22 -0800)]
i965: Fix ENDLOOP to only patch up this loop's BREAK and CONT.
Corresponds to
d225a25e21a24508aea3b877c78beb35502e942d and fixes
piglit glsl-fs-loop-nested. Bug #25173.
Eric Anholt [Tue, 9 Mar 2010 19:56:14 +0000 (11:56 -0800)]
i965: Unalias all GLSL source regs from the destination regs used.
We were doing it ad-hoc before, as instructions with potential
aliasing problems were identified. But thanks to swizzling basically
anything can have aliasing, so just do it generally at source reg
setup time. This is somewhat inefficient, because sometimes an
operation doesn't need unaliasing protection if the swizzling is safe,
but the unaliasing before didn't cover those cases either.
Fixes piglit glsl-fs-loop.
Eric Anholt [Tue, 9 Mar 2010 19:31:28 +0000 (11:31 -0800)]
i965: Print the offsets for WHILE and BREAK in disasm.
Eric Anholt [Tue, 9 Mar 2010 17:56:42 +0000 (09:56 -0800)]
i965: Fix nested loops in the VS.
We were patching up all the break and continues between the start of
our loop and the end of our loop, even if they were breaks/continues
for an inner loop. Avoiding patching already patched breaks/continues
fixes piglit glsl-vs-loop-nested.
Eric Anholt [Tue, 9 Mar 2010 00:08:33 +0000 (16:08 -0800)]
i965: Fix up VP constbuf leak on program delete.
Maciej Cencora [Tue, 9 Mar 2010 22:13:19 +0000 (23:13 +0100)]
r300: don't crash if there's no colorbuffer
Maciej Cencora [Sun, 7 Mar 2010 21:01:56 +0000 (22:01 +0100)]
radeon: mark framebuffer as incomplete if renderbuffer format isn't supported by hw
Maciej Cencora [Sun, 7 Mar 2010 13:26:21 +0000 (14:26 +0100)]
r300: add support for more rendering formats
Maciej Cencora [Sun, 7 Mar 2010 13:34:21 +0000 (14:34 +0100)]
radeon/r200/r300/r600: add is_format_renderable function
Maciej Cencora [Tue, 9 Mar 2010 20:42:41 +0000 (21:42 +0100)]
progs/tests: use first color attachement
Allows the tests to be run on drivers that supports only one color attachement.
Maciej Cencora [Tue, 9 Mar 2010 20:42:00 +0000 (21:42 +0100)]
r300: enable HW accelerated gl(Read/Copy/Draw)Pixels
Maciej Cencora [Tue, 9 Mar 2010 20:41:00 +0000 (21:41 +0100)]
radeon: add hw accelerated glReadPixel support (not enabled yet)
José Fonseca [Tue, 9 Mar 2010 20:43:13 +0000 (20:43 +0000)]
glapi: Fix scons build -- list new file.
George Sapountzis [Tue, 9 Mar 2010 20:03:24 +0000 (22:03 +0200)]
glapi: allow for any mangle prefix
George Sapountzis [Tue, 9 Mar 2010 20:03:24 +0000 (22:03 +0200)]
glapi: split out arch-specific code for entrypoints
George Sapountzis [Tue, 9 Mar 2010 20:03:24 +0000 (22:03 +0200)]
glapi: mv table functions to glapi_getproc.c and add local header
George Sapountzis [Tue, 9 Mar 2010 20:03:24 +0000 (22:03 +0200)]
drop stray XFree86Server, XGLServer
Keith Whitwell [Tue, 9 Mar 2010 18:14:34 +0000 (19:14 +0100)]
svga: Don't do culling while the software pipeline is active.
It does it for us, and additionally introduces potentially
back-facing triangles.
José Fonseca [Tue, 9 Mar 2010 19:47:30 +0000 (19:47 +0000)]
null: Add a null software winsys.
One where framebuffer data will be read via texture transfers.
Useful for e.g., python state tracker.
Roland Scheidegger [Tue, 9 Mar 2010 19:31:40 +0000 (20:31 +0100)]
mesa/st: initialize velements state properly
one variable is a bitfield where the rest is never written to, which caused
valgrind to complain. Might have caused cso to not recognize an already stored
state. Reported by Christoph Bumiller.
Roland Scheidegger [Tue, 9 Mar 2010 18:05:32 +0000 (19:05 +0100)]
cso: don't forget to release vertex elements state
Keith Whitwell [Tue, 9 Mar 2010 19:15:28 +0000 (19:15 +0000)]
target-helpers: missing files
Marek Olšák [Tue, 9 Mar 2010 19:12:52 +0000 (20:12 +0100)]
r300g: kill pf_component_count
Keith Whitwell [Tue, 9 Mar 2010 18:01:47 +0000 (18:01 +0000)]
ws/gdi: fix typo
Keith Whitwell [Tue, 9 Mar 2010 17:57:13 +0000 (17:57 +0000)]
gallium: create target for gdi libgl
Keith Whitwell [Tue, 9 Mar 2010 17:55:19 +0000 (17:55 +0000)]
ws/xlib: no dependency on mesa state tracker
Keith Whitwell [Tue, 9 Mar 2010 17:31:50 +0000 (17:31 +0000)]
egl/x11: use swrast-xlib helper
Keith Whitwell [Tue, 9 Mar 2010 17:27:58 +0000 (17:27 +0000)]
gallium: create helper for swrast+xlib combination
Several targets may want to reuse this code. It's pretty simple, not
sure if this is really a win.
José Fonseca [Tue, 9 Mar 2010 17:08:36 +0000 (17:08 +0000)]
scons: Fix the libg-xlib Sconscript.
José Fonseca [Tue, 9 Mar 2010 17:08:16 +0000 (17:08 +0000)]
scons: Always build the identity driver.
Brian Paul [Tue, 9 Mar 2010 16:37:50 +0000 (09:37 -0700)]
gallivm: checkpoint: nearest mipmap filtering
The LOD is computed from texcoord partial derivatives and used to
select a mipmap level. Still some bugs in texel fetching. Lots of
rough edges and unfinished parts but the basics are in place.
Lots of changes to the lp_bld_arit.c code to support non-vector/scalar
datatypes.
Roland Scheidegger [Tue, 9 Mar 2010 16:27:45 +0000 (17:27 +0100)]
util: simplify util_format_get_nr_components helper
since the number of components is now stored in the pipe format description,
we obviously no longer need to figure this out ourselves.
José Fonseca [Sun, 7 Mar 2010 01:24:57 +0000 (01:24 +0000)]
util: Use bitshift arithmetic for pack too.
Keith Whitwell [Tue, 9 Mar 2010 15:58:45 +0000 (15:58 +0000)]
targets/libgl-xlib: add code to inject trace and identity layers
Finally we can inject layers for debug, trace and "other" with
relative ease between state-tracker and driver.
Keith Whitwell [Tue, 9 Mar 2010 15:25:42 +0000 (15:25 +0000)]
ws/xlib: remove self-knowledge about users of xlib winsys
Several software rasterizers can make use of this winsys, but there
isn't any reason why the winsys itself should know about them.
This change moves that information into the libgl-xlib target.
Need to fix up other targets making use of this winsys.
Corbin Simpson [Tue, 9 Mar 2010 15:30:27 +0000 (07:30 -0800)]
cso: Fix typo in assert.
Corbin Simpson [Tue, 9 Mar 2010 07:36:04 +0000 (23:36 -0800)]
r300g: Precalculate and CSO-bind PSC state.
Corbin Simpson [Tue, 9 Mar 2010 05:35:43 +0000 (21:35 -0800)]
r300g: Cleanup old PSC code a bit.
Roland Scheidegger [Tue, 9 Mar 2010 15:28:59 +0000 (16:28 +0100)]
identity: fix copy & paste error
Roland Scheidegger [Tue, 9 Mar 2010 15:24:47 +0000 (16:24 +0100)]
r300g: fix gallium-vertexlementcso merge damage
Brian Paul [Tue, 9 Mar 2010 15:12:47 +0000 (08:12 -0700)]
cell: fix up assorted compilation problems
The driver is pretty much totally broken though.
José Fonseca [Tue, 9 Mar 2010 15:12:19 +0000 (15:12 +0000)]
gdi: Fixup llvmpipe gdi winsys too.
José Fonseca [Tue, 9 Mar 2010 15:07:57 +0000 (15:07 +0000)]
scons: Add new targets option.
This will likely change. Most probably we'll just add an alias to indvidual
targets and use the regular scons targets arguments.
Keith Whitwell [Tue, 9 Mar 2010 15:02:21 +0000 (15:02 +0000)]
winsys/gdi: get softpipe version compiling
Roland Scheidegger [Tue, 9 Mar 2010 14:59:40 +0000 (15:59 +0100)]
Merge branch 'gallium-vertexelementcso'
Conflicts:
src/gallium/auxiliary/cso_cache/cso_context.c
src/gallium/auxiliary/util/u_blit.c
src/gallium/auxiliary/util/u_gen_mipmap.c
src/gallium/drivers/i915/i915_context.h
src/gallium/drivers/i965/brw_draw_upload.c
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_context.h
src/gallium/drivers/r300/r300_render.c
src/gallium/drivers/r300/r300_state_derived.c
src/mesa/state_tracker/st_cb_bitmap.c
src/mesa/state_tracker/st_cb_clear.c
Keith Whitwell [Tue, 9 Mar 2010 14:49:02 +0000 (14:49 +0000)]
softpipe: silence warning
Keith Whitwell [Tue, 9 Mar 2010 14:49:39 +0000 (14:49 +0000)]
ws/gdi: missing file
Keith Whitwell [Tue, 9 Mar 2010 14:32:44 +0000 (14:32 +0000)]
ws/gdi: sketch of gdi changes
Roland Scheidegger [Tue, 9 Mar 2010 14:09:01 +0000 (15:09 +0100)]
st/mesa: fix clear/drawpixels/bitmap for new cso vertex elements interface
somehow those got lost...
Keith Whitwell [Tue, 9 Mar 2010 14:03:41 +0000 (14:03 +0000)]
cell: untwiddle surface contents in flush_frontbuffer()
Don't make the shared software winsys rely on internal knowledge about
the cell driver's texture twiddling.
This is just a sketch and hasn't even been compile tested.
Roland Scheidegger [Tue, 9 Mar 2010 13:23:00 +0000 (14:23 +0100)]
gallium: don't use flexible array members in drivers for vertex elements cso
While this c99 feature should work with most compilers, valgrind doesn't
really like it, and this only really saves some memory, we don't do this
in similar occasions (like the blend state) neither.