Jason Ekstrand
2e103fff63
iris: Copy anv's MI_MATH helpers for multiplication and division
...
(import done by Ken but with author set to Jason because it's his
code that's being imported, so he deserves the credit)
2019-02-21 10:26:11 -08:00
Kenneth Graunke
52baba80f3
iris: only get space for one offset in stream output targets
...
Target corresponds to a buffer, buffer only records one offset, not
multiple.
2019-02-21 10:26:10 -08:00
Kenneth Graunke
31357bae4b
iris: Move iris_stream_output_target def to iris_context.h
...
now that it doesn't have genxml
2019-02-21 10:26:10 -08:00
Kenneth Graunke
cf4931e586
iris: Don't bother packing 3DSTATE_SO_BUFFER at create time
...
We have to do half the packet late anyway, we may as well just do it
all at set time. This also lets us move the struct def out of genxml
2019-02-21 10:26:10 -08:00
Kenneth Graunke
754d678b0a
iris: Add _MI_ALU helpers that don't paste
...
This lets you pass arguments as function parameters
2019-02-21 10:26:10 -08:00
Kenneth Graunke
5094062bbe
iris: Reorder LRR parameters to have dst first.
...
LRI and LRM both put dst first, be consistent.
2019-02-21 10:26:10 -08:00
Kenneth Graunke
2f5d85661f
iris: rewrite set_vertex_buffer and VB handling
...
I was using the Gallium API wrong. set_* functions with start_slot
and count parameters are supposed to update a subrange of the items.
I had been trashing all bound vertex buffers and starting over.
This should hopefully also make it easier to slot in additional
VERTEX_BUFFER_STATEs at draw time, say, for shader draw parameters.
2019-02-21 10:26:10 -08:00
Kenneth Graunke
286b8b8f99
iris: handle PatchVerticesIn as a system value.
2019-02-21 10:26:10 -08:00
Tapani Pälli
96bb328e9b
iris: add Android build
...
Note that at least following additional libs/components require changes
since they refer to BOARD_GPU_DRIVERS variable which is used to select
the driver:
- mixins
- minigbm
- libdrm
- drm_gralloc
v2: (feedback by Gustaw Smolarczyk) Fix trailing \ in a few cases
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
2019-02-21 10:26:10 -08:00
Kenneth Graunke
97e82e80f9
iris: override alpha to one src1 blend factors
...
No idea why this used to pass and doesn't after updating...seems like
we should have been handling it all along...
2019-02-21 10:26:10 -08:00
Kenneth Graunke
90b2745148
iris: Always do rasterizer discard in clipper
...
but continue doing it in SOL if possible because it's faster
Fixes ./bin/ext_transform_feedback-discard-drawarrays - simpler too
2019-02-21 10:26:10 -08:00
Kenneth Graunke
5f511798d0
iris: Fix primitive generated query active flag
2019-02-21 10:26:10 -08:00
Kenneth Graunke
99cab4d381
iris: Enable guardband clipping
2019-02-21 10:26:10 -08:00
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
fb2df1b5d5
iris: Fix clear dimensions
...
Fixes depthstencil-render-miplevels 1024 s=z24_s8
2019-02-21 10:26:10 -08:00
Kenneth Graunke
2e79e46d23
iris: Drop continues in resolve
...
Now that we u_bit_scan we know it exists
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
c03fbb41aa
iris: fix dma buf import strides
2019-02-21 10:26:10 -08:00
Kenneth Graunke
90274bd48f
iris: fix alpha channel for RGB BC1 formats
2019-02-21 10:26:10 -08:00
Jason Ekstrand
47d4ea1a16
iris: Allocate buffer resources separately
...
(cleaned up by Ken - make sure a bunch of things were more obviously
not using res->surf, do allow checking res->surf.tiling == LINEAR,
drop format cpp checks that aren't needed, drop memzone handling for
images, assume buffers / non-buffers in a few places...)
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
773adeb9e9
iris: move some non-buffer case code in a bit
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
68d531d7d7
iris: Destroy the bufmgr
...
Plugs a 12360 byte leak
2019-02-21 10:26:10 -08:00
Kenneth Graunke
7c29c3d01e
iris: Fix IRIS_MEMZONE_COUNT to exclude the border color pool
...
This is supposed to exclude single address zones. We were getting
too many VMA allocators but failing to set them up, which worked out
because we also forgot to destroy them...
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
f73fdb4001
iris: Destroy the border color pool
...
This plugs a 12224 byte leak
2019-02-21 10:26:10 -08:00
Kenneth Graunke
3d55e9a2aa
iris: Destroy transfer helper on screen teardown
...
Plugs a 16 byte leak
2019-02-21 10:26:10 -08:00
Kenneth Graunke
bdc1269eb2
iris: Fix failed to compile TCS message
2019-02-21 10:26:10 -08:00
Kenneth Graunke
fbf3124771
iris: Rework tiling/modifiers handling
...
We were being very picky about things being Y tiled. But, not
everything can be - for example, > 16382 surfaces on SKL GT1-3
have to fall back to linear.
Instead, give ISL options and let it pick.
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
Kenneth Graunke
40b12c103c
iris: check query first
...
this lets us avoid the predicate bit in more cases, which is nice
2019-02-21 10:26:10 -08:00
Kenneth Graunke
0c3ea03e4b
iris: for BLORP, only use the predicate enable bit when USE_BIT
2019-02-21 10:26:10 -08:00
Dave Airlie
7bbf3ff4a9
iris: add conditional render support
2019-02-21 10:26:10 -08:00
Kenneth Graunke
dbe198d6ba
iris: drop key_size_for_cache
...
dead since my program cache API rework. we could still use it for one
function, but it's so trivial to pass the size, that it's probably not
worth the extra code
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
311a1b3198
iris: execute compute related query on compute batch.
...
This only happens for the compute invocations query.
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
39d1056d10
iris: fix some SO overflow query bugs and tidy the code a bit
2019-02-21 10:26:10 -08:00
Dave Airlie
527e5bcdc7
iris: add initial transform feedback overflow query paths (V3)
...
v2: fix cpu overflow calc
v3: use a struct
2019-02-21 10:26:10 -08:00