Kenneth Graunke
f062dcdfbb
iris: Clamp viewport extents to the framebuffer dimensions
...
Fixes arb_framebuffer_no_attachments-query's resize subtest.
2019-02-21 10:26:10 -08:00
Kenneth Graunke
5fde1fa988
iris: Replace num_textures etc with a bitmask we can scan
...
More accurate bounds, plus can skip dead ones
2019-02-21 10:26:10 -08:00
Kenneth Graunke
7ad7d0beea
iris: Fix set_sampler_views with start > 0
2019-02-21 10:26:10 -08:00
Kenneth Graunke
1c6fea8e7b
iris: fix set_sampler_views to not unbind, be better about bounds
2019-02-21 10:26:10 -08:00
Kenneth Graunke
598ce8e88e
iris: fix overhead regression from flushing for storage images
...
st calls us with count = 32 but a NULL pointer...we only really care
about the highest non-NULL image...
2019-02-21 10:26:10 -08:00
Kenneth Graunke
4749f6cc4f
iris: Fix NOS mechanism
...
Set bits, not values
2019-02-21 10:26:10 -08:00
Kenneth Graunke
a24734a2d7
iris: re-pin inherited streamout buffers
2019-02-21 10:26:10 -08:00
Kenneth Graunke
19803d0aa7
iris: reemit SBE when sprite coord origin changes
...
fixes arb_point_sprite-checkerboard
2019-02-21 10:26:10 -08:00
Kenneth Graunke
480c62bc7e
iris: omask can kill
2019-02-21 10:26:10 -08:00
Kenneth Graunke
bd031eb2e8
iris: reject all clipping when we can't use streamout render disabled
2019-02-21 10:26:10 -08:00
Kenneth Graunke
72cf2185c8
iris: make clipper statistics dynamic
2019-02-21 10:26:10 -08:00
Kenneth Graunke
1114f0c1ce
iris: CS stall for stream out -> VB
...
i965 doesn't do this, but I suspect it just stalls a lot and doesn't hit
this. Fixes ext_transform_feedback-position render among others.
2019-02-21 10:26:10 -08:00
Kenneth Graunke
585c95f8cc
iris: Don't bother considering if the underlying surface is a cube
...
Dave fixed it to consider whether the sampler view is a cube.
With that, there's no point (possibly harm) in looking if the original
resource was a cube...if it's an array view, we don't want to treat it
as a cube anymore...
2019-02-21 10:26:10 -08:00
Kenneth Graunke
2c0f001295
iris: Stop leaking iris_uncompiled_shaders like mad
...
Now shader-db actually executes. We still need a plan for culling
dead iris_compiled_shaders...
2019-02-21 10:26:10 -08:00
Kenneth Graunke
6cb211121b
iris: Unref unbound_tex resource
...
Plugs a 12536 byte leak
2019-02-21 10:26:10 -08:00
Kenneth Graunke
761a5fb36a
iris: fix conditional compute, don't stomp predicate for pipelined queries
2019-02-21 10:26:10 -08:00
Dave Airlie
7bbf3ff4a9
iris: add conditional render support
2019-02-21 10:26:10 -08:00
Dave Airlie
e4115eaca0
iris: iris add load register reg32/64
...
These will be needed for broadwell and conditional render
2019-02-21 10:26:10 -08:00
Dave Airlie
00645ea01c
iris: fix cube texture view
2019-02-21 10:26:10 -08:00
Kenneth Graunke
0ded23a552
iris: actually flush for storage images
2019-02-21 10:26:10 -08:00
Kenneth Graunke
69e97670bc
iris: add an extra BT assert from Chris Wilson
2019-02-21 10:26:10 -08:00
Kenneth Graunke
4312784674
iris: add assertions about binding table starts
2019-02-21 10:26:10 -08:00
Kenneth Graunke
10d04cdaa4
iris: Use program's num textures not the state tracker's bound
...
the state tracker might bind more textures than the program is using.
2019-02-21 10:26:10 -08:00
Kenneth Graunke
855ff47d36
iris: Enable precompiles
2019-02-21 10:26:10 -08:00
Kenneth Graunke
84a8c63527
iris: Re-pin even if nothing is dirty
2019-02-21 10:26:10 -08:00
Kenneth Graunke
d169747a3e
iris: Track a binding history for buffer resources
...
This will let us know what caches to flush / state to dirty when
altering the contents of a buffer.
2019-02-21 10:26:10 -08:00
Kenneth Graunke
5dbd6df9f7
iris: Do the 48-bit vertex buffer address invalidation workaround
2019-02-21 10:26:10 -08:00
Kenneth Graunke
2c23721397
iris: PIPE_CONTROL workarounds for GPGPU mode
2019-02-21 10:26:10 -08:00
Kenneth Graunke
f1a7392be1
iris: Put batches in an array
...
We keep re-making this array all over the place
2019-02-21 10:26:10 -08:00
Kenneth Graunke
1b69b14c2a
iris: Fix SLM
...
Now that Jason has set up the L3 we can do this. Also, my assert was
useless because we hadn't set up the field in the first place. Oops.
2019-02-21 10:26:10 -08:00
Jason Ekstrand
f9c5e277ac
iris: Don't set constant read lengths at upload time
...
They're set in derived_data as part of store_cs_state
2019-02-21 10:26:10 -08:00
Jason Ekstrand
a90a0e22cb
iris: Configure the L3$ on the compute context
2019-02-21 10:26:10 -08:00
Kenneth Graunke
25a41b1aef
iris: properly pin stencil buffers
2019-02-21 10:26:10 -08:00
Kenneth Graunke
da5590496e
iris: more todo notes
2019-02-21 10:26:10 -08:00
Kenneth Graunke
5207a5f5d5
iris: Fix independent alpha blending.
...
independent_blend_enable means per-RT blending, not RGB != A
2019-02-21 10:26:10 -08:00
Kenneth Graunke
b2c04aa3a0
iris: Fix SourceAlphaBlendFactor
2019-02-21 10:26:10 -08:00
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