Commit Graph

170 Commits

Author SHA1 Message Date
Keith Whitwell 963728665a i965g: make the winsys responsible for all buffer->offset handling
The winsys now inserts the presumed offset into referring buffers from
inside of bo_emit_reloc().  Remove the many locally coded places where
this was happening in the driver and eliminate the worry of getting it
wrong.

No longer need to expose offset values to the driver at all, so no need
to worry about what to do in the driver when they change.  Just use
zero values wherever we had offsets previously -- the relocations will
fix it all up for us.
2009-11-05 20:34:27 +00:00
Keith Whitwell 658da189b6 i965g: remove duplicate viewport state in brw_context 2009-11-05 19:58:02 +00:00
Keith Whitwell 8f0e51be47 i965g: correct sense of writedisable flags 2009-11-05 19:57:59 +00:00
Keith Whitwell b229ee342f brw: push more dumping into the winsys 2009-11-05 19:57:28 +00:00
Keith Whitwell a70e6178d4 i965g: correct size of surf_bo array 2009-11-05 17:42:38 +00:00
Keith Whitwell 205871c76a i965g: use Elements in loops over arrays 2009-11-05 17:42:13 +00:00
Keith Whitwell 674c390aaf i965g: add const qualifiers 2009-11-05 17:41:35 +00:00
Keith Whitwell aa9773d056 i965g: disassemble more than one instruction at a time 2009-11-05 15:34:18 +00:00
Keith Whitwell 203adb8ea6 i965g: remove old dumping code 2009-11-05 15:15:04 +00:00
Keith Whitwell c796aed5dd 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.
2009-11-05 14:01:37 +00:00
José Fonseca 31b8b1dd36 i965g: Don't dump pads or dwords aliases. 2009-11-05 12:45:23 +00:00
José Fonseca 9069c791d0 i965g: Dumper for i965 structures. 2009-11-05 12:22:01 +00:00
Keith Whitwell 6ac38232ee i965g: add data type tags to aid dumping/decoding 2009-11-05 10:59:02 +00:00
Keith Whitwell b2bf5f98d9 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.
2009-11-05 08:01:48 +00:00
Keith Whitwell 2475e5db67 i965g: fix compiler warning 2009-11-05 08:00:33 +00:00
Jakob Bornecrantz 47cbbb7253 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]
2009-11-05 01:22:10 +00:00
Jakob Bornecrantz 643bb3419d i965g: Fix debug check 2009-11-05 01:22:10 +00:00
Keith Whitwell ffc2446391 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.
2009-11-04 23:44:25 +00:00
Keith Whitwell c2e51effe6 i965g: fix order of calculation of brw->wm.nr_surfaces 2009-11-04 23:41:30 +00:00
Keith Whitwell 220566d8dc i965g: consolidate some includes 2009-11-04 23:37:52 +00:00
Keith Whitwell e84e86ecb2 i965g: fix some asserts 2009-11-04 23:33:08 +00:00
Keith Whitwell 7a49bd6d15 i965g: remove redundant screen pointer in brw context struct 2009-11-04 23:30:52 +00:00
Keith Whitwell e3e084c660 i965g: initialize winsys pointer in surface cache 2009-11-04 23:27:50 +00:00
Keith Whitwell 518171a887 i965g: init pointer to null, avoid segfault 2009-11-04 23:27:30 +00:00
Keith Whitwell bf4a518cf2 i965g: clean up wm init_registers func 2009-11-04 23:22:48 +00:00
Keith Whitwell 1b611f99b4 i965g: hook up some missing vertex shader code 2009-11-04 23:18:07 +00:00
Keith Whitwell cc8105d740 i965g: hook up some vertex state funcs 2009-11-04 23:09:23 +00:00
Keith Whitwell 951fdac566 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
2009-11-04 21:37:07 +00:00
Keith Whitwell b8bb48f452 i965g: fix up batchbuffer confusion 2009-11-04 21:05:34 +00:00
Keith Whitwell c5ed7b6e76 i965g: plumb in some surface state 2009-11-04 20:36:48 +00:00
Keith Whitwell e18f223da7 i965g: hook up pipe_clear functions 2009-11-04 20:26:41 +00:00
Keith Whitwell 19119517ce i965g: add constant buffer setter 2009-11-04 19:41:02 +00:00
Keith Whitwell 4e335a213a i965g: add missing is_*_referenced callbacks 2009-11-04 19:32:44 +00:00
Keith Whitwell 0cf432c7a1 i965g: initialize surface refcount 2009-11-04 19:03:06 +00:00
Keith Whitwell 58e3360c11 i965g: add more missing pipe callbacks 2009-11-04 18:26:34 +00:00
Keith Whitwell 99394a737a i965g: add some missing texture creation code 2009-11-04 16:42:44 +00:00
Keith Whitwell 5f8dde99ed i965g: stubs for brw_pipe_vertex.c 2009-11-04 16:03:52 +00:00
Keith Whitwell 7373bc0e02 i965g: hook up pipe sampler callbacks 2009-11-04 15:59:56 +00:00
Keith Whitwell 9706a83bc9 i965g: hook up more pipe_context functions 2009-11-04 15:25:42 +00:00
Keith Whitwell a09b3d5097 i965g: add missing buffer functions 2009-11-04 15:10:34 +00:00
Keith Whitwell b1d2933214 i965g: hook up brw_screen.c 2009-11-04 13:54:44 +00:00
Keith Whitwell 211d7ab22b 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.
2009-11-04 13:03:35 +00:00
Keith Whitwell a277bb20de 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.
2009-11-04 10:09:39 +00:00
Keith Whitwell 4ea94c04c9 i965g: format RELOCs similarly 2009-11-02 08:50:16 +00:00
Keith Whitwell 23c2ba8280 i965g: rename brw_constant_buffer to brw_curbe_buffer
Now that there are real constant buffers, try to reduce naming confusion.
2009-11-02 08:48:26 +00:00
Keith Whitwell 15a8ac2c9d 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...
2009-11-01 19:30:53 +00:00
Keith Whitwell efda453d64 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.
2009-11-01 17:55:16 +00:00
Keith Whitwell 4a3e002cf9 i965g: more files compiling 2009-11-01 17:18:56 +00:00
Keith Whitwell 6981bbfabe i965g: more files compiling 2009-11-01 15:59:21 +00:00
Keith Whitwell 15e7a3b8bb i965g: more files compiling 2009-11-01 14:33:01 +00:00
Keith Whitwell 39448a9aa0 i965g: more files compiling 2009-11-01 13:11:56 +00:00
Keith Whitwell 9b18ca0955 i965g: more work on compilation -- surface management 2009-11-01 12:08:14 +00:00
Keith Whitwell e7b7600082 i965g: more work on compilation 2009-10-31 20:05:19 +00:00
Keith Whitwell f202a34cb1 i965g: non-glsl fragment shader path is compiling
Disabled glsl code for now, probably want to clean this up somehow.
2009-10-31 18:23:14 +00:00
Keith Whitwell 5d61b6f1f6 i965g: wip on fragment shaders 2009-10-31 15:05:01 +00:00
Keith Whitwell 99cc0fd675 i965g: work in progress on fragment shaders 2009-10-29 20:18:01 +00:00
Keith Whitwell 81b8589f06 i965g: still working on compilation 2009-10-28 21:24:03 +00:00
Keith Whitwell 7ba2fe40fa i965g: still working on compilation 2009-10-27 00:29:21 +00:00
Keith Whitwell 5a304995e0 i965g: still working on compilation 2009-10-26 01:35:05 +00:00
Keith Whitwell 09c231f84a i965g: still working on compilation 2009-10-26 00:20:33 +00:00
Keith Whitwell 590949553f i965g: start hooking up some to the gallium context interfaces
- create/bind/destroy blend and depth state
- framebuffer and viewport
- etc.
2009-10-25 11:37:39 +00:00
Keith Whitwell 562ca4eae2 i965g: more compiling wip 2009-10-25 01:20:56 +01:00
Keith Whitwell 4dd2f6640b i965g: more work on compiling, particularly the brw_draw files 2009-10-25 00:02:16 +01:00
Keith Whitwell 4f7931bb35 i965g: more work on compiling 2009-10-24 17:07:28 +01:00
Keith Whitwell 074606a806 i965g: more files compiling 2009-10-24 13:19:26 +01:00
Keith Whitwell d71af266df i965g: first compiling file 2009-10-24 11:53:43 +01:00
Keith Whitwell 22906f7301 i965g: wip on removing GL stuff, trying to get a few files compiling 2009-10-23 23:27:43 +01:00
Keith Whitwell 6b48fb0022 i965: ignore cliprect_mode 2009-10-23 20:19:14 +01:00
Keith Whitwell 57a920cb1a i965g: wip 2009-10-23 17:03:45 +01:00
Keith Whitwell 2f5f7c0773 i965g: re-starting from the dri driver 2009-10-23 17:03:45 +01:00