Kenneth Graunke
8fa99481e7
iris: do PIPELINE_SELECT for render engine, add flushes, GLK hacks
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
06a993dac2
iris: rewrite grid surface handling
...
now we only upload a new grid when it's actually changed, which saves us
from having to emit a new binding table every time it changes.
this also moves a bunch of non-gen-specific stuff out of iris_state.c
2019-02-21 10:26:09 -08:00
Kenneth Graunke
643030f4fb
iris: fix whitespace
2019-02-21 10:26:09 -08:00
Kenneth Graunke
b0dc11993e
iris: bail if SLM is needed
2019-02-21 10:26:09 -08:00
Kenneth Graunke
973b937cac
iris: leave XXX about unnecessary binding table uploads
2019-02-21 10:26:09 -08:00
Kenneth Graunke
7fb8c20d7b
iris: drop unnecessary #ifdefs
2019-02-21 10:26:09 -08:00
Kenneth Graunke
549db5b90e
iris: drop XXX that Jordan handled
2019-02-21 10:26:09 -08:00
Jordan Justen
942bdb2906
iris/compute: Support indirect compute dispatch
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2019-02-21 10:26:09 -08:00
Jordan Justen
b35c8f2182
iris/compute: Push subgroup-id
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2019-02-21 10:26:09 -08:00
Jordan Justen
fb4637797e
iris/compute: Provide binding table entry for gl_NumWorkGroups
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2019-02-21 10:26:09 -08:00
Jordan Justen
c7cfa4000f
iris/compute: Get group counts from grid->grid
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2019-02-21 10:26:09 -08:00
Jordan Justen
9b5cda95aa
iris/compute: Add MEDIA_STATE_FLUSH following WALKER
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2019-02-21 10:26:09 -08:00
Jordan Justen
6ebd04ac8f
iris: Add iris_restore_compute_saved_bos
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2019-02-21 10:26:09 -08:00
Jordan Justen
25f1625edf
iris/compute: Set mask bits on PIPELINE_SELECT
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
2019-02-21 10:26:09 -08:00
Kenneth Graunke
9fc672428d
iris: little bits of compute basics
2019-02-21 10:26:09 -08:00
Kenneth Graunke
f6c68066a6
iris: yes
2019-02-21 10:26:09 -08:00
Kenneth Graunke
c29fd34259
iris: move images next to textures in binding table
2019-02-21 10:26:09 -08:00
Kenneth Graunke
0d9c5b4e7e
iris: null for non-existent cbufs
...
prevents BTs from being shifted down incorrectly
2019-02-21 10:26:09 -08:00
Kenneth Graunke
98e8f80e7d
iris: actually set image access
2019-02-21 10:26:09 -08:00
Jason Ekstrand
d9aee25a46
iris: Don't lower image formats for write-only images
2019-02-21 10:26:09 -08:00
Kenneth Graunke
a06f0fe517
iris: set image access correctly
2019-02-21 10:26:09 -08:00
Kenneth Graunke
5d1dadfc38
iris: bother with BTIs
2019-02-21 10:26:09 -08:00
Kenneth Graunke
f5b887da6c
iris: implement set_shader_images hook
2019-02-21 10:26:09 -08:00
Kenneth Graunke
94569a6458
iris: rework format translation apis
2019-02-21 10:26:09 -08:00
Kenneth Graunke
b9eeed3e8f
iris: Allow PIPE_CONTROL with Stall at Scoreboard and RT flush
...
It's nonsensical, but not illegal, and mandatory on Icelake
2019-02-21 10:26:09 -08:00
Kenneth Graunke
6fbb6ba290
iris: pipe to scs -> iris_pipe.h
2019-02-21 10:26:09 -08:00
Kenneth Graunke
90b9efc1f9
iris: stencil texturing
2019-02-21 10:26:09 -08:00
Kenneth Graunke
2f24000662
iris: drop a bunch of pipe_sampler_state stuff we don't need
2019-02-21 10:26:09 -08:00
Kenneth Graunke
d8875fe406
iris: primitives generated query support
2019-02-21 10:26:08 -08:00
Kenneth Graunke
cf261caad9
iris: results write
2019-02-21 10:26:08 -08:00
Kenneth Graunke
dd478913d5
iris: LRM/SRM/SDI hooks
2019-02-21 10:26:08 -08:00
Kenneth Graunke
af9fe0d472
iris: rw_bo for pipe controls
...
this is used for WRITE IMMEDIATE...
but maybe we don't want to for the workaround BO?
2019-02-21 10:26:08 -08:00
Caio Marcelo de Oliveira Filho
54e23442e2
iris: Add support for TCS passthrough
...
If no TCS is provided, create a "passthrough" TCS that will take the
default values set in the API as constants and pass to the TES, along
with any other inputs it expects. The code to create the NIR shader
is the same as in i965.
Tested with
./piglit run -t 'tess' quick_shader r
and fixed a dozen crashes from that list.
2019-02-21 10:26:08 -08:00
Kenneth Graunke
5395658c61
iris: inherit the index buffer properly
2019-02-21 10:26:08 -08:00
Kenneth Graunke
a858b69880
iris: delete bogus comment
...
Caio asked what was wrong. There is nothing wrong. :)
2019-02-21 10:26:08 -08:00
Kenneth Graunke
f2f506fa43
iris: properly re-pin stencil buffers
2019-02-21 10:26:08 -08:00
Kenneth Graunke
aaced066e8
iris: fix context restore of 3DSTATE_CONSTANT ranges
...
if clean we want to DO the pinning...not SKIP the pinning.
thanks to Jordan Justen for catching this!
2019-02-21 10:26:08 -08:00
Kenneth Graunke
897f8d9232
iris: refactor program CSO stuff
2019-02-21 10:26:08 -08:00
Kenneth Graunke
2b956a093a
iris: totally untested icelake support
2019-02-21 10:26:08 -08:00
Kenneth Graunke
921790b080
iris: initialize "don't suck" bits, as Ben likes to call them
2019-02-21 10:26:08 -08:00
Kenneth Graunke
73a4cef220
iris: refactor LRIs in context setup
...
we're going to have more of them, so reduce the boilerplate
2019-02-21 10:26:08 -08:00
Kenneth Graunke
c0422d623c
iris: re-pin binding table contents if we didn't re-emit them
...
fixes glsl-vs-loop and other regressions from multibinder.
2019-02-21 10:26:08 -08:00
Kenneth Graunke
2963276a58
iris: move binder pinning outside the dirty == 0 check
...
This might be a new batch with back to back non-dirty calls, if so we
need to inherit the old binder...
2019-02-21 10:26:08 -08:00
Kenneth Graunke
f6924e2379
iris: update comments for multibinder
2019-02-21 10:26:08 -08:00
Kenneth Graunke
5cb0527c4f
iris: fix SO offset writes for multiple streams
2019-02-21 10:26:08 -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
148e315d96
iris: fix null FB and unbound tex surface state addresses
2019-02-21 10:26:08 -08:00
Kenneth Graunke
938afd484a
iris: fix constant buffer 0 to be absolute
...
thanks to Jason for catching this. Fixes some va64 tests. Surprisingly
not much else, as apparently getting to UBO range 4 is uncommon!
2019-02-21 10:26:08 -08:00
Kenneth Graunke
5a2257bb2f
iris: don't unconditionally emit 3DSTATE_VF / 3DSTATE_VF_TOPOLOGY
...
this was just laziness on my part
2019-02-21 10:26:08 -08:00