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