Kenneth Graunke
25f194d5ac
iris: more TODO
2019-02-21 10:26:10 -08:00
Kenneth Graunke
89833eddab
iris: leave another TODO
2019-02-21 10:26:10 -08:00
Kenneth Graunke
587e438128
iris: Print the batch name when decoding
2019-02-21 10:26:09 -08:00
Kenneth Graunke
9ec927497e
iris: Actually create/destroy HW contexts
...
The intention is that render and compute use their own contexts,
and each is PIPELINE_SELECT'd to the right pipeline. But we hadn't
actually made them, so we got the fd-default context.
Thanks to Chris Wilson for catching this!
2019-02-21 10:26:09 -08:00
Kenneth Graunke
fbe5d75f11
iris: cross batch flushing
2019-02-21 10:26:09 -08:00
Kenneth Graunke
c3cc525c7a
iris: Cross-link iris_batches so they can potentially flush each other
...
This makes e.g. the render batch aware of the compute batch, so it can
ask questions like "is this BO referenced by some other batch?" and do
something about that.
2019-02-21 10:26:09 -08:00
Kenneth Graunke
822f91508e
iris: don't mark contains_draw = false when chaining batches
...
chaining to a new batch reuses create_batch(), but we don't need to do
the work of pinning BOs we inherit from a previous batch...when that is
actually part of the same execbuf invocation.
instead, just flag it when setting primary_batch_size = 0, in
iris_batch_reset
2019-02-21 10:26:09 -08:00
Kenneth Graunke
eff081cdd9
iris: Support multiple binder BOs, update Surface State Base Address
2019-02-21 10:26:08 -08:00
Kenneth Graunke
888efcd192
iris: Allow inlining of require/get_command_space
...
eliminates so many callqs for ptr++
2019-02-21 10:26:08 -08:00
Kenneth Graunke
42dccb1233
iris: use consistent copyright formatting
...
some of them had typos, didn't say 'authors or copyright holders',
or other mistakes. This is now https://opensource.org/licenses/MIT
text, formatted consistently.
2019-02-21 10:26:08 -08:00
Kenneth Graunke
2d578e71d5
iris: get angry about execbuf failures
...
want this to be easy to detect for now
2019-02-21 10:26:08 -08:00
Kenneth Graunke
a378ee3607
iris: simplify batch len qword alignment
...
Split from a patch by Chris Wilson so I can test it independently
2019-02-21 10:26:08 -08:00
Kenneth Graunke
621cb43f41
iris: rename ring to engine
...
makes more sense these days. split from a patch by Chris Wilson
2019-02-21 10:26:08 -08:00
Kenneth Graunke
dfe1ee4f6f
iris: comment everything
...
1. Write the code
2. Add comments
3. PROFIT (or just avoid cost of explaining or relearning things...)
2019-02-21 10:26:08 -08:00
Kenneth Graunke
a3a998f19a
iris: iris - fix QWord aligned endings after batch chaining rework
...
I need to save the primary batch size after expanding it to include
MI_BATCH_BUFFER_END and the QWord padding NOP
2019-02-21 10:26:07 -08:00
Kenneth Graunke
aacbcbbf47
iris: colorize batchbuffer failures to make them stand out
2019-02-21 10:26:07 -08:00
Kenneth Graunke
8e2b71b190
iris: bad inherited comments
2019-02-21 10:26:07 -08:00
Kenneth Graunke
8c54433275
iris: Handle batch submission failure "better"
...
We used to not reset the batch, and just keep appending to it, so you'd
get the same invalid contents over and over.
I'd also really like to know about this, so aborting seems wise for now,
if not for the long term
2019-02-21 10:26:07 -08:00
Kenneth Graunke
9226ebfa85
iris: print second batch size separately
2019-02-21 10:26:07 -08:00
Kenneth Graunke
0a43c9defa
iris: print refcounts in INTEL_DEBUG=submit
2019-02-21 10:26:07 -08:00
Kenneth Graunke
432790bacd
iris: print binder utilization in INTEL_DEBUG=submit
2019-02-21 10:26:07 -08:00
Kenneth Graunke
c763ecaa65
iris: plug leaks
2019-02-21 10:26:07 -08:00
Kenneth Graunke
3f863cf680
iris: fix the validation list on new batches
2019-02-21 10:26:06 -08:00
Kenneth Graunke
9ea05ccf1f
iris: completely rewrite binder
...
now we get a new one per batch, and flush if it fills up
2019-02-21 10:26:06 -08:00
Kenneth Graunke
4d24874236
iris: Lower the max number of decoded VBO lines
...
saint foo, vbo lines!
2019-02-21 10:26:06 -08:00
Kenneth Graunke
48ddd7212d
iris: fix decoding and undo testing code
2019-02-21 10:26:06 -08:00
Kenneth Graunke
f31eea1f00
iris: fix batch chaining...
...
don't chain a batch just for the end
2019-02-21 10:26:06 -08:00
Kenneth Graunke
604a1a1614
iris: chaining not growing
2019-02-21 10:26:06 -08:00
Kenneth Graunke
053fb51125
iris: just turn batch reset_and_clear_caches into reset
2019-02-21 10:26:06 -08:00
Kenneth Graunke
ca735c5e0c
iris: delete growing code and just die for now
...
we need proper batch chaining. without relocations, we can't grow,
since we've only allocated so much VMA for the batch, and the mechanism
only works if we can pin it at the old address
2019-02-21 10:26:06 -08:00
Kenneth Graunke
75a1639262
iris: drop the 48b printout, we never use anything else
2019-02-21 10:26:06 -08:00
Kenneth Graunke
60d708bb80
iris: copy over i965's cache tracking
...
needed to split out vtbl so I can pipe control without ice
2019-02-21 10:26:06 -08:00
Kenneth Graunke
c75a1254a4
iris: Move get_command_space to iris_batch.c
...
for reuse in blorp. it's a better interface anyway.
2019-02-21 10:26:06 -08:00
Kenneth Graunke
0148bd6839
iris: decoder fixes
2019-02-21 10:26:05 -08:00
Kenneth Graunke
d890aee15d
iris: SBA once at context creation, not per batch
...
hooray!
2019-02-21 10:26:05 -08:00
Kenneth Graunke
bf90d8a125
iris: delete more trash
2019-02-21 10:26:05 -08:00
Kenneth Graunke
b69a85bc4d
iris: validation dumping improvements
...
backported from i965. don't bother with (pinned) because everything is.
2019-02-21 10:26:05 -08:00
Kenneth Graunke
9ac81f1890
iris: decoder fixes
2019-02-21 10:26:05 -08:00
Kenneth Graunke
65073c2217
iris: hook up batch decoder
2019-02-21 10:26:05 -08:00
Kenneth Graunke
1af84d345a
iris: set EXEC_OBJECT_WRITE
2019-02-21 10:26:05 -08:00
Kenneth Graunke
651be7cf3d
iris: rewrite to use memzones and not relocs
2019-02-21 10:26:05 -08:00
Kenneth Graunke
e95ad5994a
iris: dump gtt offset in dump_validation_list
2019-02-21 10:26:05 -08:00
Kenneth Graunke
e4aa8338c3
iris: Soft-pin the universe
...
Breaks everything, woo!
2019-02-21 10:26:05 -08:00
Kenneth Graunke
f6be3d4f3a
iris: bufmgr updates.
...
Drop BO_ALLOC_BUSY (best not to hand people a loaded gun...)
Drop vestiges of alignment
2019-02-21 10:26:05 -08:00
Kenneth Graunke
7130c43d96
iris: decode batches if they fail to submit
2019-02-21 10:26:05 -08:00
Kenneth Graunke
23367688e9
iris: NOOP pad batches correctly
2019-02-21 10:26:05 -08:00
Kenneth Graunke
f3150e9ecd
iris: warn if execbuf fails
2019-02-21 10:26:05 -08:00
Kenneth Graunke
ffcd84f55a
iris: catastrophic state pointer mistake
2019-02-21 10:26:05 -08:00
Kenneth Graunke
9be4b3baaf
iris: compctrl
...
oh, also run things
2019-02-21 10:26:05 -08:00
Kenneth Graunke
db15993cfd
iris: actually pin the instruction cache buffers
2019-02-21 10:26:05 -08:00