Kenneth Graunke
c60ce3f4fd
iris: bypass params and do it ourselves
...
the backend keeps dead code eliminating them all, so we can't do that,
plus we don't want to because params[] is lame
2019-02-21 10:26:09 -08:00
Kenneth Graunke
4d219b0eb3
iris: implement scratch space!
...
we borrow the approach from anv rather than i965, as it works better
with pre-baked state that needs to contain scratch BO addresses
fixes a bunch of varying packing tests
2019-02-21 10:26:09 -08:00
Kenneth Graunke
84a419432d
iris: Flag constants dirty on program changes
...
3DSTATE_CONSTANT_* looks at prog_data->ubo_ranges. We were getting
saved by iris_set_constant_buffers() usually happening when changing
programs (as they usually change uniforms too), but with the clear
shader that doesn't use uniforms, we weren't getting one and were
leaving push constants enabled, screwing things up.
Also clean up a bit of a mess left by the hacks - we were missing
bindings in the VS/FS/CS case, among other issues...
2019-02-21 10:26:09 -08:00
Kenneth Graunke
f8796079da
iris: better dirty checking
2019-02-21 10:26:09 -08:00
Kenneth Graunke
47d3019c4a
iris: fix crash when binding optional shader for the first time
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
7705f62cb6
iris: don't emit SBE all the time
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
f0159d5ca3
iris: update bindings when changing programs
...
the binding table layout depends on program info.
not known to fix anything yet.
2019-02-21 10:26:07 -08:00
Kenneth Graunke
77b9219818
iris: unbind compiled shaders if none are present
...
avoids the case where you have a stale compiled shader bound, but no
uncompiled shader bound, which is not just boats, but an entire marina
2019-02-21 10:26:07 -08:00
Kenneth Graunke
5520a54bc5
iris: vertex ID, instance ID
2019-02-21 10:26:07 -08:00
Kenneth Graunke
cef0b8b13b
iris: streamout
2019-02-21 10:26:07 -08:00
Kenneth Graunke
5c00f5fdca
iris: Implement 3DSTATE_SO_DECL_LIST
2019-02-21 10:26:07 -08:00
Kenneth Graunke
1cea195a95
iris: state ref tuple
2019-02-21 10:26:07 -08:00
Kenneth Graunke
27d45eb2f2
iris: don't leak keyboxes when searching for an existing program
2019-02-21 10:26:07 -08:00
Kenneth Graunke
8e186cef2c
iris: rzalloc iris_compiled_shader so memcmp works even if padding creeps in
2019-02-21 10:26:07 -08:00
Kenneth Graunke
0db86016f7
iris: pc fixes
2019-02-21 10:26:07 -08:00
Kenneth Graunke
c763ecaa65
iris: plug leaks
2019-02-21 10:26:07 -08:00
Kenneth Graunke
23987df412
iris: some dirty fixes
...
two scissor bits, constants not being flagged, ZeroRTA, clip not being
flagged
2019-02-21 10:26:07 -08:00
Kenneth Graunke
bbc6d15b59
iris: flag DIRTY_WM properly
2019-02-21 10:26:06 -08:00
Kenneth Graunke
9247546181
iris: state cleaning
2019-02-21 10:26:06 -08:00
Kenneth Graunke
b8a11ad256
iris: fix blorp prog data crashes
2019-02-21 10:26:06 -08:00
Kenneth Graunke
e2ba98ba39
iris: more blorp
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
68229caa38
iris: more uploaders
2019-02-21 10:26:05 -08:00
Kenneth Graunke
b1115799e6
iris: actually set KSP offsets
2019-02-21 10:26:05 -08:00
Kenneth Graunke
9437e135ed
iris: rewrite program cache to use u_upload_mgr
2019-02-21 10:26:05 -08:00
Kenneth Graunke
67ca2be992
iris: no NEW_SBA
2019-02-21 10:26:05 -08:00
Kenneth Graunke
5ae278da18
iris: use vtbl to avoid multiple symbols, fix state base address
2019-02-21 10:26:05 -08:00
Kenneth Graunke
876417f9e8
iris: softpin some things
2019-02-21 10:26:05 -08:00
Kenneth Graunke
c493fee73f
iris: drop const from prog data parameters
...
we ralloc steal things, which makes it a little bogus
2019-02-21 10:26:05 -08:00
Kenneth Graunke
1cf21cc813
iris: actually save derived state
2019-02-21 10:26:05 -08:00
Kenneth Graunke
57c1b71418
iris: promote iris_program_cache_item to iris_compiled_shader
2019-02-21 10:26:05 -08:00
Kenneth Graunke
f31ae76216
iris: flag SBA updates when instruction BO changes
2019-02-21 10:26:05 -08:00
Kenneth Graunke
6aa15cadf3
iris: import program cache code
2019-02-21 10:26:05 -08:00