Kenneth Graunke
983e2ae7d2
iris: only clip lower if there's something to clip against
2019-02-21 10:26:10 -08:00
Kenneth Graunke
2ddbc1025e
iris: don't forget to upload CS consts
2019-02-21 10:26:10 -08:00
Kenneth Graunke
6d19fe376d
iris: enable push constants if we have sysvals but no uniforms
2019-02-21 10:26:09 -08:00
Kenneth Graunke
50743eb748
iris: fix num clip plane consts
2019-02-21 10:26:09 -08:00
Kenneth Graunke
a98634a28f
iris: actually upload clip planes.
2019-02-21 10:26:09 -08:00
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
2b0a2915dc
iris: hook up key stuff for clip plane lowering
2019-02-21 10:26:09 -08:00
Kenneth Graunke
80c856cbee
iris: only bother with params if there are any...
2019-02-21 10:26:09 -08:00
Kenneth Graunke
d3e8ff143d
iris: add param domain defines
2019-02-21 10:26:09 -08:00
Kenneth Graunke
ed08f022f0
iris: Defer cbuf0 upload to draw time
2019-02-21 10:26:09 -08:00
Kenneth Graunke
2727a942a4
iris: partial set_query_active_state
...
used to avoid OQ during clears for example
fixes occlusion_query_meta_no_fragments
2019-02-21 10:26:09 -08:00
Kenneth Graunke
64af1d9248
iris: Fix multiple RTs with non-independent blending
...
rt[i] isn't filled out in this case, so we have to use rt[0]
2019-02-21 10:26:09 -08:00
Kenneth Graunke
e5d84bbd36
iris: Fix MSAA smooth points
...
Fixes bin/ext_framebuffer_multisample-point-smooth 2 -auto -fbo
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
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