Kenneth Graunke
be60e3247c
iris: drop stencil handling now that u_transfer_helper does it
2019-02-21 10:26:08 -08:00
Kenneth Graunke
b932938d01
iris: use u_transfer_helper for depth stencil packing/unpacking
2019-02-21 10:26:08 -08:00
Kenneth Graunke
853230b5e6
iris: WTF transfers
...
stencil unfortunately is stored in the Weird Tile Format (WTF or Tile-W)
which needs special CPU detiling code.
2019-02-21 10:26:08 -08:00
Kenneth Graunke
d93a20e258
iris: allow S8 as a stencil format
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
753646dd6b
iris: clear stencil
2019-02-21 10:26:08 -08:00
Kenneth Graunke
9ec2d3640e
iris: depth or stencil fixes
2019-02-21 10:26:08 -08:00
Kenneth Graunke
763f9095ea
iris: fill out more caps
2019-02-21 10:26:08 -08:00
Kenneth Graunke
2d578e71d5
iris: get angry about execbuf failures
...
want this to be easy to detect for now
2019-02-21 10:26:08 -08:00
Kenneth Graunke
a378ee3607
iris: simplify batch len qword alignment
...
Split from a patch by Chris Wilson so I can test it independently
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
1a9651f29a
iris: remember to set bo->userptr
2019-02-21 10:26:08 -08:00
Chris Wilson
796ad6fe97
iris: Wrap userptr for creating bo
2019-02-21 10:26:08 -08:00
Kenneth Graunke
5911fb8801
iris: sync bugfixes from brw_bufmgr
...
I wrote softpin support here first, then debugged and landed it in brw;
some of those fixes need to get brought back.
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
Chris Wilson
02b82fe80a
iris: Set resource modifier on handle
...
Required for gdm_bo_create_with_modifiers
2019-02-21 10:26:08 -08:00
Kenneth Graunke
682aeff8d0
iris: we don't support textureGatherOffsets, need it lowered
2019-02-21 10:26:08 -08:00
Kenneth Graunke
03dc99475d
iris: cube arrays are cubes too
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
834b97c34b
iris: fix GS output component limit
...
this is total, so should be 1024, not 128
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
8da91ebb68
iris: enable texture gather
2019-02-21 10:26:08 -08:00
Kenneth Graunke
f3dd70182d
iris: BIG OL' HACK for UBO updates
...
We need to re-push data when UBO changes. This will need to be replaced
with a usage history based flushing system later.
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
8e7b0deee2
iris: Don't reserve new binding table section unless things are dirty
2019-02-21 10:26:07 -08:00
Kenneth Graunke
870f2e8434
iris: implement texture/memory barriers
2019-02-21 10:26:07 -08:00
Kenneth Graunke
82ee971497
iris: drop unused bo parameter
2019-02-21 10:26:07 -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
b0e9c5797b
iris: fix for disabling ssbos
2019-02-21 10:26:07 -08:00
Kenneth Graunke
b7b061c4e2
iris: fix SSBO indexing
...
st/nir offsets SSBO indexes by MaxABOs. This is not what we want,
as it bloats the binding tables. We'll need to adjust it to use
info->num_abos as the offset and buffer base instead. For now,
just use the inefficient format to get us rolling. We can add a
PIPE_CAP later.
2019-02-21 10:26:07 -08:00
Kenneth Graunke
376c7253f8
iris: enable SSBOs
2019-02-21 10:26:07 -08:00
Kenneth Graunke
75709d982b
iris: fix TBO alignment to match 965
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
fd5ed7b46b
iris: shorten loop
...
num_ubos doesn't include Tim's magic UBO for regular uniforms, so +1
2019-02-21 10:26:07 -08:00
Kenneth Graunke
bf795b0244
iris: emit binding table for atomic counters and SSBOs
2019-02-21 10:26:07 -08:00
Kenneth Graunke
2d5f545464
iris: implement set_shader_buffers
...
for SSBOs/ABOs. We just stream out SURFACE_STATE for now...since it's
a set_* API...and the buffer offset may change...not sure where else
we'd do it.
2019-02-21 10:26:07 -08:00
Kenneth Graunke
541cb60e7e
iris: export get_shader_info
2019-02-21 10:26:07 -08:00
Kenneth Graunke
f0558ca22c
iris: fix msaa flipping filters
2019-02-21 10:26:07 -08:00
Kenneth Graunke
2c73d7e3f1
iris: expose more things that we already support
2019-02-21 10:26:07 -08:00
Kenneth Graunke
5b8dd5f303
iris: fix blorp filters
...
we have to switch to blorp enums after the rebase, but also we were
probably doing it wrong for MSAA before this.
2019-02-21 10:26:07 -08:00
Kenneth Graunke
3aa1fcc65a
iris: hack around samples confusion
2019-02-21 10:26:07 -08:00
Kenneth Graunke
2c15f38a29
iris: point sprite enables
2019-02-21 10:26:07 -08:00
Kenneth Graunke
c60a4de1f5
iris: reemit blend state for alpha test function changes
...
fixes bin/fbo-alphatest-formats GL_EXT_texture_snorm
2019-02-21 10:26:07 -08:00
Kenneth Graunke
a4036635b1
iris: fix Z24
...
This was backwards.
thanks to Jason Ekstrand for realizing that I was seeing the wrong bits.
2019-02-21 10:26:07 -08:00
Kenneth Graunke
a12a370d7b
iris: fix EmitNoIndirect
...
we were using pipe stages, which are ordered dumbly for historical
reasons. we want gl_shader_stage here. this got us the wrong options
2019-02-21 10:26:07 -08:00
Kenneth Graunke
5bd861de8b
iris: assert about passthrough shaders to make this easier to detect
...
otherwise it just silently fails and looks like some obscure problem
2019-02-21 10:26:07 -08:00
Kenneth Graunke
5e19885d5a
iris: fill out MAX_PATCH_VERTICES
2019-02-21 10:26:07 -08:00