Keith Whitwell [Thu, 5 Nov 2009 17:43:57 +0000 (17:43 +0000)]
brw: push more dumping into the winsys
Keith Whitwell [Thu, 5 Nov 2009 17:42:38 +0000 (17:42 +0000)]
i965g: correct size of surf_bo array
Keith Whitwell [Thu, 5 Nov 2009 17:42:13 +0000 (17:42 +0000)]
i965g: use Elements in loops over arrays
Keith Whitwell [Thu, 5 Nov 2009 17:41:35 +0000 (17:41 +0000)]
i965g: add const qualifiers
Keith Whitwell [Thu, 5 Nov 2009 15:34:18 +0000 (15:34 +0000)]
i965g: disassemble more than one instruction at a time
Keith Whitwell [Thu, 5 Nov 2009 15:15:04 +0000 (15:15 +0000)]
i965g: remove old dumping code
Keith Whitwell [Thu, 5 Nov 2009 15:10:22 +0000 (15:10 +0000)]
i965g: call dissassembler for appropriate data uploads
Keith Whitwell [Thu, 5 Nov 2009 13:57:05 +0000 (13:57 +0000)]
i965g: add lots of error checks and early returns
Any allocation that may fail should be checked, and propogate the
error upwards. At the highest level we will flush batch and retry.
This is an alternate strategy to what the original DRI driver did of
attempting to flush batch from the lowest levels (eg inside
BEGIN_BATCH). The trouble with that strategy was that flushes could
occur at unexpected times, and additionally there was a need for a
wierd notification mechanism to propogate the 'lost context' state
back up to higher levels.
Propogating the errors directly gives us a lot of flexibility how to
deal with these states, at the expense of a lot more checking in the
code.
Will add some sanity checks later to make sure that out-of-memory
conditions are properly escalated and not lost halfway up the stack.
José Fonseca [Thu, 5 Nov 2009 12:44:36 +0000 (12:44 +0000)]
i965g: Don't dump pads or dwords aliases.
Keith Whitwell [Thu, 5 Nov 2009 12:35:22 +0000 (12:35 +0000)]
i965g: hook up dumpers in dumping winsys
José Fonseca [Thu, 5 Nov 2009 12:22:01 +0000 (12:22 +0000)]
i965g: Dumper for i965 structures.
Keith Whitwell [Thu, 5 Nov 2009 10:59:02 +0000 (10:59 +0000)]
i965g: add data type tags to aid dumping/decoding
Keith Whitwell [Thu, 5 Nov 2009 08:01:48 +0000 (08:01 +0000)]
i965g: use pipe_error return value for brw_batchbuffer_require_space
trivial/tri runs without crashing (on debug winsys) but still produces
obviously incorrect command buffers.
Keith Whitwell [Thu, 5 Nov 2009 08:00:33 +0000 (08:00 +0000)]
i965g: fix compiler warning
Jakob Bornecrantz [Thu, 5 Nov 2009 00:42:30 +0000 (00:42 +0000)]
i965g: Builds with scons
But there are some missing symbols, "nm -u i965_dri.so"
[SNIP]
U brw_surface_bo
U brw_surface_pitch
U brw_texture_blanket_winsys_buffer
U brw_texture_get_winsys_buffer
U brw_update_dirty_counts
[SNIP]
Jakob Bornecrantz [Thu, 5 Nov 2009 00:38:51 +0000 (00:38 +0000)]
i965g: Fix debug check
Jakob Bornecrantz [Wed, 4 Nov 2009 23:02:13 +0000 (23:02 +0000)]
i965g: Build with configure
Jakob Bornecrantz [Wed, 4 Nov 2009 23:02:04 +0000 (23:02 +0000)]
i965g: Do not create a symlink for i965_dri.so
Jakob Bornecrantz [Wed, 4 Nov 2009 23:01:24 +0000 (23:01 +0000)]
i915g: Do not create a symlink for i965_dri.so
Keith Whitwell [Wed, 4 Nov 2009 23:44:16 +0000 (23:44 +0000)]
i965g: enable line stipple packet emit
With this change, trivial/tri manages to build and emit
a fairly unconvincing command buffer (to the debug winsys),
and then crashes.
Keith Whitwell [Wed, 4 Nov 2009 23:41:30 +0000 (23:41 +0000)]
i965g: fix order of calculation of brw->wm.nr_surfaces
Keith Whitwell [Wed, 4 Nov 2009 23:37:52 +0000 (23:37 +0000)]
i965g: consolidate some includes
Keith Whitwell [Wed, 4 Nov 2009 23:33:08 +0000 (23:33 +0000)]
i965g: fix some asserts
Keith Whitwell [Wed, 4 Nov 2009 23:30:52 +0000 (23:30 +0000)]
i965g: remove redundant screen pointer in brw context struct
Keith Whitwell [Wed, 4 Nov 2009 23:27:50 +0000 (23:27 +0000)]
i965g: initialize winsys pointer in surface cache
Keith Whitwell [Wed, 4 Nov 2009 23:27:30 +0000 (23:27 +0000)]
i965g: init pointer to null, avoid segfault
Keith Whitwell [Wed, 4 Nov 2009 23:22:48 +0000 (23:22 +0000)]
i965g: clean up wm init_registers func
Keith Whitwell [Wed, 4 Nov 2009 23:18:07 +0000 (23:18 +0000)]
i965g: hook up some missing vertex shader code
Keith Whitwell [Wed, 4 Nov 2009 23:09:23 +0000 (23:09 +0000)]
i965g: hook up some vertex state funcs
Keith Whitwell [Wed, 4 Nov 2009 23:09:05 +0000 (23:09 +0000)]
ws/i965: allow NULL buffer in winsys::bo_unreference
Special case to avoid clutter in the driver
Keith Whitwell [Wed, 4 Nov 2009 21:35:29 +0000 (21:35 +0000)]
i965g: pull in a copy of intel_decode.c for now
With the stubbed out, non-hardware xlib winsys, trivial/clear runs and
prints a plausible command stream
Keith Whitwell [Wed, 4 Nov 2009 21:12:48 +0000 (21:12 +0000)]
i965g: hook up flush-frontbuffer
Keith Whitwell [Wed, 4 Nov 2009 21:05:34 +0000 (21:05 +0000)]
i965g: fix up batchbuffer confusion
Keith Whitwell [Wed, 4 Nov 2009 20:36:48 +0000 (20:36 +0000)]
i965g: plumb in some surface state
Keith Whitwell [Wed, 4 Nov 2009 20:26:41 +0000 (20:26 +0000)]
i965g: hook up pipe_clear functions
Keith Whitwell [Wed, 4 Nov 2009 19:41:02 +0000 (19:41 +0000)]
i965g: add constant buffer setter
Keith Whitwell [Wed, 4 Nov 2009 19:32:44 +0000 (19:32 +0000)]
i965g: add missing is_*_referenced callbacks
Keith Whitwell [Wed, 4 Nov 2009 19:03:06 +0000 (19:03 +0000)]
i965g: initialize surface refcount
Keith Whitwell [Wed, 4 Nov 2009 18:26:34 +0000 (18:26 +0000)]
i965g: add more missing pipe callbacks
Keith Whitwell [Wed, 4 Nov 2009 16:42:44 +0000 (16:42 +0000)]
i965g: add some missing texture creation code
Keith Whitwell [Wed, 4 Nov 2009 16:03:52 +0000 (16:03 +0000)]
i965g: stubs for brw_pipe_vertex.c
Keith Whitwell [Wed, 4 Nov 2009 15:59:56 +0000 (15:59 +0000)]
i965g: hook up pipe sampler callbacks
Keith Whitwell [Wed, 4 Nov 2009 15:25:42 +0000 (15:25 +0000)]
i965g: hook up more pipe_context functions
Keith Whitwell [Wed, 4 Nov 2009 15:10:34 +0000 (15:10 +0000)]
i965g: add missing buffer functions
Keith Whitwell [Wed, 4 Nov 2009 14:03:25 +0000 (14:03 +0000)]
ws/i965: add load-time driver registration
Otherwise xlib state-tracker doesn't know about us.
Keith Whitwell [Wed, 4 Nov 2009 13:59:59 +0000 (13:59 +0000)]
ws/i965: add butt-ugly linker hack
Need more linker magic to keep the glX symbols externally visible even
though they started off in a .a file.
Keith Whitwell [Wed, 4 Nov 2009 13:54:44 +0000 (13:54 +0000)]
i965g: hook up brw_screen.c
Keith Whitwell [Wed, 4 Nov 2009 13:03:35 +0000 (13:03 +0000)]
i965g: add standalone xlib debug winsys
Create a dummy winsys that just debug-prints on calls into the winsys
functions. Will use this to get to the point where we are generating
sane-looking debug dumps and diassembly.
Also fix various warnings generated with the new compiler flags set in
this config.
Keith Whitwell [Tue, 3 Nov 2009 23:16:02 +0000 (23:16 +0000)]
i965g: convert read/write domain pairs into single usage value
Easier to understand what's going on in the driver sources, convert
stereotype usage values back to GEM read/write domain flags in the
winsys.
Keith Whitwell [Mon, 2 Nov 2009 08:49:02 +0000 (08:49 +0000)]
i965g: format RELOCs similarly
Keith Whitwell [Mon, 2 Nov 2009 08:48:26 +0000 (08:48 +0000)]
i965g: rename brw_constant_buffer to brw_curbe_buffer
Now that there are real constant buffers, try to reduce naming confusion.
Keith Whitwell [Sun, 1 Nov 2009 19:30:53 +0000 (19:30 +0000)]
i965g: driver and winsys compile
A milestone of sorts. Still a long way from something working --
the old one compiled too, at least some of the time...
Keith Whitwell [Sun, 1 Nov 2009 17:55:16 +0000 (17:55 +0000)]
i965g: the whole drivers/i965 directory is compiling
That was a lot more work than I expected. Still the winsys to go,
then the small matter of making it work and re-enabling the
missing functionality.
Keith Whitwell [Sun, 1 Nov 2009 17:18:56 +0000 (17:18 +0000)]
i965g: more files compiling
Keith Whitwell [Sun, 1 Nov 2009 15:59:21 +0000 (15:59 +0000)]
i965g: more files compiling
Keith Whitwell [Sun, 1 Nov 2009 14:32:50 +0000 (14:32 +0000)]
i965g: more files compiling
Keith Whitwell [Sun, 1 Nov 2009 13:11:56 +0000 (13:11 +0000)]
i965g: more files compiling
Keith Whitwell [Sun, 1 Nov 2009 12:08:14 +0000 (12:08 +0000)]
i965g: more work on compilation -- surface management
Keith Whitwell [Sat, 31 Oct 2009 20:05:19 +0000 (20:05 +0000)]
i965g: more work on compilation
Keith Whitwell [Sat, 31 Oct 2009 18:23:14 +0000 (18:23 +0000)]
i965g: non-glsl fragment shader path is compiling
Disabled glsl code for now, probably want to clean this up somehow.
Keith Whitwell [Sat, 31 Oct 2009 15:05:01 +0000 (15:05 +0000)]
i965g: wip on fragment shaders
Keith Whitwell [Thu, 29 Oct 2009 20:18:01 +0000 (20:18 +0000)]
i965g: work in progress on fragment shaders
Keith Whitwell [Wed, 28 Oct 2009 21:24:03 +0000 (21:24 +0000)]
i965g: still working on compilation
Keith Whitwell [Tue, 27 Oct 2009 00:29:21 +0000 (00:29 +0000)]
i965g: still working on compilation
Keith Whitwell [Mon, 26 Oct 2009 01:11:36 +0000 (01:11 +0000)]
i965g: still working on compilation
Keith Whitwell [Mon, 26 Oct 2009 00:20:33 +0000 (00:20 +0000)]
i965g: still working on compilation
Keith Whitwell [Sun, 25 Oct 2009 11:36:22 +0000 (11:36 +0000)]
i965g: start hooking up some to the gallium context interfaces
- create/bind/destroy blend and depth state
- framebuffer and viewport
- etc.
Keith Whitwell [Sun, 25 Oct 2009 00:20:56 +0000 (01:20 +0100)]
i965g: more compiling wip
Keith Whitwell [Sat, 24 Oct 2009 23:02:16 +0000 (00:02 +0100)]
i965g: more work on compiling, particularly the brw_draw files
Keith Whitwell [Sat, 24 Oct 2009 16:07:01 +0000 (17:07 +0100)]
i965g: more work on compiling
Keith Whitwell [Sat, 24 Oct 2009 12:18:34 +0000 (13:18 +0100)]
i965g: more files compiling
Keith Whitwell [Sat, 24 Oct 2009 10:55:25 +0000 (11:55 +0100)]
i965g: hook into build system
Keith Whitwell [Sat, 24 Oct 2009 10:55:05 +0000 (11:55 +0100)]
ws/i965: renames from i915, hook up makefiles
Keith Whitwell [Sat, 24 Oct 2009 10:53:43 +0000 (11:53 +0100)]
i965g: first compiling file
Keith Whitwell [Fri, 23 Oct 2009 22:37:45 +0000 (23:37 +0100)]
ws/i965: pull in the rest of the i915 winsys tree.
The intel_xorg file looks like it's got quite a bit of code that could
be lifted up into the xorg state tracker -- should really just have a
list of pci ids and a pointer to a screen create func.
Keith Whitwell [Fri, 23 Oct 2009 22:36:02 +0000 (23:36 +0100)]
ws/i965: clone the i915 winsys
I'll want to rework this, not sure trying to share this code is a very
good idea at least until the interfaces from the two drivers calm
down.
Keith Whitwell [Fri, 23 Oct 2009 22:27:43 +0000 (23:27 +0100)]
i965g: wip on removing GL stuff, trying to get a few files compiling
Keith Whitwell [Fri, 23 Oct 2009 19:19:14 +0000 (20:19 +0100)]
i965: ignore cliprect_mode
Keith Whitwell [Fri, 23 Oct 2009 16:01:32 +0000 (17:01 +0100)]
i965g: wip
Keith Whitwell [Fri, 23 Oct 2009 15:55:02 +0000 (16:55 +0100)]
i965g: re-starting from the dri driver
Keith Whitwell [Fri, 23 Oct 2009 13:50:02 +0000 (14:50 +0100)]
gallium: remove extended negate also, and also the ExtSwz token
Likewise, the extended negate functionality hasn't been
used since mesa switched to using tgsi_ureg to build programs,
and has been translating the SWZ opcode internally to a single MAD.
Keith Whitwell [Fri, 23 Oct 2009 13:38:30 +0000 (14:38 +0100)]
cell: typo from ExtSwizzle commit
Keith Whitwell [Fri, 23 Oct 2009 13:31:24 +0000 (14:31 +0100)]
gallium: remove the swizzling parts of ExtSwizzle
These haven't been used by the mesa state tracker since the
conversion to tgsi_ureg, and it seems that none of the
other state trackers are using it either.
This helps simplify one of the biggest suprises when starting off with
TGSI shaders.
Keith Whitwell [Fri, 23 Oct 2009 12:49:04 +0000 (13:49 +0100)]
gallium: remove noise opcodes
Provide a dummy implementation in the GL state tracker (move 0.5 to
the destination regs).
At some point, a motivated person could add a better
implementation of noise. Currently not even the nvidia
binary drivers do anything more than this. In any case, the
place to do this is in the GL state tracker, not the poor
driver.
Keith Whitwell [Sat, 26 Sep 2009 07:39:57 +0000 (08:39 +0100)]
progs/demos: add fps to multiarb
Cooper Yuan [Fri, 23 Oct 2009 08:40:31 +0000 (16:40 +0800)]
r300g: last changes's typo, miss a include file
Cooper Yuan [Fri, 23 Oct 2009 06:46:29 +0000 (14:46 +0800)]
r300g: add flush_frontbuffer function to display video surface
Cooper Yuan [Fri, 23 Oct 2009 06:44:27 +0000 (14:44 +0800)]
g3dvl: pass display and screen to g3dvl when creating video private context
Alex Deucher [Fri, 23 Oct 2009 05:00:23 +0000 (01:00 -0400)]
r600: remove remains of old tnl pipeline
Alex Deucher [Fri, 23 Oct 2009 04:40:41 +0000 (00:40 -0400)]
r600: fix render size prediction
Alex Deucher [Thu, 22 Oct 2009 21:41:31 +0000 (17:41 -0400)]
r600: remove old tnl pipeline
Alex Deucher [Thu, 22 Oct 2009 21:18:01 +0000 (17:18 -0400)]
r600: clean up context creation
Make it more consistent with other radeon drivers.
Ian Romanick [Fri, 23 Oct 2009 02:21:21 +0000 (19:21 -0700)]
Revert "Store clipping distance for user clip planes as part of vertex processing"
This reverts commit
f058b25881e08c9d89a33345e5c84e1357396932.
This change is completely wrong in so many ways. When clip distances
are generated as part of vertex processing, they must be interpolated
to perform clipping. Geometric clipping goes right out the window.
Brian Paul [Fri, 23 Oct 2009 00:38:19 +0000 (18:38 -0600)]
Merge branch 'mesa_7_6_branch'
Brian Paul [Thu, 22 Oct 2009 15:38:39 +0000 (09:38 -0600)]
docs: document 'useprog' debug option
Brian Paul [Thu, 22 Oct 2009 15:37:56 +0000 (09:37 -0600)]
mesa: fix up vbo comments
Brian Paul [Thu, 22 Oct 2009 15:37:22 +0000 (09:37 -0600)]
mesa: added _mesa_dump_texture()
Brian Paul [Fri, 23 Oct 2009 00:32:48 +0000 (18:32 -0600)]
intel: flush old context before binding new context
Per the GLX spec, when changing rendering contexts, the old context
should first be flushed.
Brian Paul [Fri, 23 Oct 2009 00:19:01 +0000 (18:19 -0600)]
glx: don't destroy context immediately if it's currently bound
According to the GLXDestroyContext() man page, the context should not
immediately be destroyed if it's bound to some thread. Wait until it's
unbound to really delete it. The code for doing the later part is
already present in MakeContextCurrent() so no change was needed there.
Brian Paul [Fri, 23 Oct 2009 00:16:10 +0000 (18:16 -0600)]
mesa: code refactoring- new _mesa_finish(), _mesa_flush()