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
Kenneth Graunke
4c27cb031c
iris: skip over whole function if dirty == 0
...
kinda pointless in non-pathological cases, but does boost our score in
the drawarrays case by 50%...
2019-02-21 10:26:08 -08:00
Kenneth Graunke
52eb8d5593
iris: fix blend state memcpy
...
thanks to Jason for noticing grumpy valgrind
2019-02-21 10:26:08 -08:00
Kenneth Graunke
9ce92fa036
iris: Skip primitive ID overrides if the shader wrote a custom value
...
Fixes glsl-1.50/execution/geometry/primitive-id-out
2019-02-21 10:26:08 -08:00
Kenneth Graunke
b2a5e1ebb3
iris: big old hack for tex-miplevel-selection
...
copied from ilo. I don't understand this at all..
2019-02-21 10:26:08 -08:00
Kenneth Graunke
e4d22b16c8
iris: fix sampler state setting
2019-02-21 10:26:08 -08:00
Kenneth Graunke
d2516358f9
iris: fix line-aa-width
...
we should probably move the roundf to st_atom_raster
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
1d33982e9b
iris: track depth/stencil writes enabled
2019-02-21 10:26:08 -08:00
Kenneth Graunke
3fecb1c44d
iris: Move iris_sampler_view declaration to iris_resource.h
...
We'll need this for resolve tracking. There's also no genxml stuff here
2019-02-21 10:26:08 -08:00
Kenneth Graunke
b75b52530a
iris: Move things to iris_shader_state
...
We didn't originally have this struct, so we had lots of ad-hoc arrays.
Now that we have it, it makes sense to group things there.
2019-02-21 10:26:08 -08:00
Kenneth Graunke
410a555bfb
iris: move iris_shader_state from ice->shaders.state to ice->state.shaders
...
it's more state related...
2019-02-21 10:26:08 -08:00
Kenneth Graunke
33701d5341
iris: Drop bogus sampler state saving
...
We do this in an earlier loop. This was just reading things out of the
array, and saving them back over the same array...but in the wrong slots
2019-02-21 10:26:08 -08:00
Kenneth Graunke
aba2cee711
iris: rename pipe to base
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
ea19d359cc
iris: Convert RGBX to RGBA for rendering.
...
Fixes a bunch of RGB bugs.
2019-02-21 10:26:08 -08:00
Kenneth Graunke
7972599eab
iris: actually emit stencil packets
2019-02-21 10:26:08 -08:00
Kenneth Graunke
621cb43f41
iris: rename ring to engine
...
makes more sense these days. split from a patch by Chris Wilson
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
387a414f2c
iris: add minor comments
2019-02-21 10:26:08 -08:00
Dave Airlie
9d39e69219
iris: fix some hangs around null framebuffers
...
This fixes some cases in fbo-none* and framebuffer_no_attachments.
I'm not sure this is correct otherwise, the tests don't all pass yet
No idea if this is in any way the correct answer
2019-02-21 10:26:08 -08:00
Kenneth Graunke
80c7096672
iris: fix sample mask
...
0xffffffff does not mean 1, it means enable as many as there actually
are. we don't get set_sample_mask() calls until some masking is
actually applied...i.e. it doesn't get updated based on # of samples
in the FBO changing.
2019-02-21 10:26:08 -08:00
Kenneth Graunke
e990558152
iris: drop pipe_shader_state
...
looking at the freedreno code, this is totally unnecessary! we can just
store the NIR and be happy, and not have any vestiges of TGSI.
plus we can reuse this structure for compute shaders, without needing a
pipe_compute_state base.
2019-02-21 10:26:08 -08:00
Kenneth Graunke
c9f9a6f61b
iris: Avoid croaking when trying to create FBO surfaces with bad formats
...
create_surface happens before st_validate_attachment, which actually
does the "hey, this is a render target now, is that OK?" check
Fixes asserts in ./bin/arb_texture_view-rendering-formats, allowing the
rest of the tests to run.
2019-02-21 10:26:08 -08:00
Kenneth Graunke
a7311ef068
iris: update a todo comment
2019-02-21 10:26:07 -08:00
Kenneth Graunke
b0e9c5797b
iris: fix for disabling ssbos
2019-02-21 10:26:07 -08:00