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
Dave Airlie
ed016b2a0b
iris: fix crash in sparse vertex array
...
this fixes crash in array-stride piglit.
2019-02-21 10:26:09 -08:00
Kenneth Graunke
bcac11c8f1
iris: Use at least 1x1 size for null FB surface state.
...
Otherwise we get 0 - 1 = 0xffffffff and fail to pack SURFACE_STATE.
Fixes some object namespace pollution gltexsubimage2d tests
2019-02-21 10:26:09 -08:00
Kenneth Graunke
3e6aaa1ba5
iris: Disable a PIPE_CONTROL workaround on Icelake
2019-02-21 10:26:09 -08:00
Kenneth Graunke
317ba8796f
iris: allow binding a null vertex buffer
...
PBO upload apparently does this...
2019-02-21 10:26:09 -08:00
Kenneth Graunke
aef1ba5ce4
iris: fix overhead regression from "don't stomp each other's dirty bits"
...
The change from dirty = 0ull to dirty &= ~NOT_MY_BITS broke the "nothing
to do? skip it!" optimization. thanks to Chris for noticing this!
2019-02-21 10:26:09 -08:00
Kenneth Graunke
a3e813c5af
iris: SO_DECL_LIST fix
2019-02-21 10:26:09 -08:00
Kenneth Graunke
927c4a21bd
iris: Fall back to 1x1x1 null surface if no framebuffer supplied
...
If the state tracker never gave us the framebuffer dimensions via
a set_framebuffer_state() call, just fall back to the unbound texture
null surface, which is 1x1x1. Otherwise we'd use a NULL resource
(no pun intended).
2019-02-21 10:26:09 -08:00
Kenneth Graunke
5d1a9db720
iris: Fix off by one in scissoring, empty scissors, default scissors
2019-02-21 10:26:09 -08:00
Kenneth Graunke
ba2a4207f9
iris: Clamp UBO and SSBO access to the actual BO size, for safety
2019-02-21 10:26:09 -08:00
Kenneth Graunke
a9b32f2bbf
iris: Fix texture buffer / image buffer sizes.
...
Also fix image buffers with offsets.
2019-02-21 10:26:09 -08:00
Kenneth Graunke
d1f8947792
iris: fix SF_CLIP_VIEWPORT array indexing with multiple VPs
...
fixes bunches of viewport stuffs
2019-02-21 10:26:09 -08:00
Kenneth Graunke
d98967d936
iris: fix UBOs with bindings that have an offset
2019-02-21 10:26:09 -08:00
Kenneth Graunke
97125e9bb3
iris: fix SBA flushing by refactoring code
2019-02-21 10:26:09 -08:00
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