Kenneth Graunke
744b8e1c12
iris: Fix MOCS for blits and clears
...
I915_MOCS_CACHED is the wrong value. Expose mocs() and use that.
2019-03-06 18:04:53 -08:00
Kenneth Graunke
2cddc953cd
iris: some initial HiZ bits
2019-02-21 10:26:12 -08:00
Kenneth Graunke
b77d2dc71b
iris: Make blit code use actual aux usages
2019-02-21 10:26:12 -08:00
Kenneth Graunke
5eb75345b8
iris: try to fix copyimage vs copybuffers
2019-02-21 10:26:12 -08:00
Kenneth Graunke
3c979b0e6d
iris: add some draw resolve hooks
2019-02-21 10:26:12 -08:00
Kenneth Graunke
53c484ba8a
iris: blorp using resolve hooks
2019-02-21 10:26:12 -08:00
Kenneth Graunke
77a1070d36
iris: Initial import of resolve code
2019-02-21 10:26:12 -08:00
Kenneth Graunke
c81941f1e7
iris: Pay attention to blit masks
...
For combined depth/stencil formats, we may want to only blit one half.
If PIPE_BLIT_Z is set, blit depth; if PIPE_BLIT_S is set, blit stencil.
2019-02-21 10:26:11 -08:00
Kenneth Graunke
7837fec740
iris: Assert about blits with color masking
...
st/mesa never asks for this today, but in theory someone might, and we
don't support it.
2019-02-21 10:26:11 -08:00
Kenneth Graunke
7a9e87c224
iris: Implement multi-slice copy_region
...
I don't know if this is required - surprisingly, I haven't seen it
matter - but I'd like to use it for multi-slice transfer maps. We may
as well do the right thing.
2019-02-21 10:26:11 -08:00
Kenneth Graunke
761a5fb36a
iris: fix conditional compute, don't stomp predicate for pipelined queries
2019-02-21 10:26:10 -08:00
Kenneth Graunke
0c3ea03e4b
iris: for BLORP, only use the predicate enable bit when USE_BIT
2019-02-21 10:26:10 -08:00
Dave Airlie
7bbf3ff4a9
iris: add conditional render support
2019-02-21 10:26:10 -08:00
Kenneth Graunke
415ede346d
iris: Flush for history at various moments
...
When we blit, transfer, or copy_resource to a buffer, we need to flush
to ensure any stale data for that buffer is invalidated in the caches.
bind_history will inform us which caches need to be flushed.
Also, for any push constant buffers, we need to flag those dirty so
that we re-emit 3DSTATE_CONSTANT_*, causing the data to be re-pushed.
2019-02-21 10:26:10 -08:00
Kenneth Graunke
c5b22441f1
iris: Fix buffer -> buffer copy_region
...
Size can be too large for a surf, blorp_buffer_copy chops things up
into segments we can actually handle
Fixes map_buffer_range_test and copy_buffer_coherency
2019-02-21 10:26:10 -08:00
Kenneth Graunke
f1a7392be1
iris: Put batches in an array
...
We keep re-making this array all over the place
2019-02-21 10:26:10 -08:00
Kenneth Graunke
9878ea842f
iris: scissored and mirrored blits
2019-02-21 10:26:10 -08:00
Kenneth Graunke
94569a6458
iris: rework format translation apis
2019-02-21 10:26:09 -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
84b30a2900
iris: call maybe_flush for each blorp operation
...
otherwise with high layer counts we may exceed two batches worth of
commands... (!)
2019-02-21 10:26:08 -08:00
Kenneth Graunke
0e059e4829
iris: assert depth is 1 in resource_copy_region
...
given the dstz parameter I don't think it does multiple slices..
2019-02-21 10:26:08 -08:00
Kenneth Graunke
03933a2d1b
iris: blorp blit multiple slices
...
fixes getteximage-depth
2019-02-21 10:26:08 -08:00
Kenneth Graunke
d5146ba670
iris: actually do stencil blits
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
f0558ca22c
iris: fix msaa flipping filters
2019-02-21 10:26:07 -08:00
Kenneth Graunke
5b8dd5f303
iris: fix blorp filters
...
we have to switch to blorp enums after the rebase, but also we were
probably doing it wrong for MSAA before this.
2019-02-21 10:26:07 -08:00
Kenneth Graunke
cf34dd7a61
iris: actually handle array layers in blits
2019-02-21 10:26:07 -08:00
Kenneth Graunke
cbbd6a61c4
iris: maybe-flush before blorp operations
...
otherwise if we have a lot of back-to-back blorp operations we can
potentially overflow even the chained batch
2019-02-21 10:26:07 -08:00
Kenneth Graunke
4d04111bfb
iris: implement copy image
2019-02-21 10:26:07 -08:00
Kenneth Graunke
40fd2fd603
iris: fall back to u_generate_mipmap
...
It just does blits between layers, which is all we'd do anyway,
and it already should use BLORP because of iris_blit(). Plus it
handles 3D, which our code in i965 doesn't.
2019-02-21 10:26:07 -08:00
Kenneth Graunke
72416a2d0d
iris: clears
2019-02-21 10:26:07 -08:00
Kenneth Graunke
698d45b725
iris: more blitting code to make readpixels work
2019-02-21 10:26:06 -08:00
Kenneth Graunke
9ca58ca517
iris: delete iris_pipe.c, shuffle code around
2019-02-21 10:26:05 -08:00