Dave Airlie
8806b29e16
iris: setup gen8 caps
2019-02-21 10:26:11 -08:00
Dave Airlie
1bbf095473
iris: limit gen8 to 8 samples
2019-02-21 10:26:11 -08:00
Dave Airlie
823609b1a3
iris/WIP: add broadwell support
...
This adds all the state changes, MOCS changes,
2019-02-21 10:26:11 -08:00
Kenneth Graunke
5be72d9a20
iris: Delete bogus comment about cube array counting.
...
Both 'z' and 'depth' are counted in slices, according to the Gallium
docs (context.rst). In our temporary memory, we allocate `box.depth`
slices, so we need to rebase the starting slice (box.z) down to 0,
and back again when writing on unmap.
There's nothing strange about cubes here.
2019-02-21 10:26:11 -08:00
Kenneth Graunke
73709be0c3
iris: Fix compute scratch pinning
...
Thanks to Eero Tamminen for helping catch this.
2019-02-21 10:26:11 -08:00
Kenneth Graunke
3ab3aa23c2
iris: Add a more long term TODO about timebase scaling
2019-02-21 10:26:11 -08:00
Kenneth Graunke
7ddc1f8ded
iris: Only resolve inputs for actual shader stages
...
We don't need to consider compute at render time, and don't need to
consider disabled stages. 4% on drawoverhead.
2019-02-21 10:26:11 -08:00
Rhys Kidd
6c17e7d95f
iris: Fix assertion in iris_resource_from_handle() tiling usage
...
Assertion error:
iris_resource_from_handle: Assertion `res->bo->tiling_mode ==
isl_tiling_to_i915_tiling(res->surf.tiling)' failed.
This patch fixes 16 piglit tests on KBL:
glx/glx-multithread-texture
glx/glx-query-drawable-glx_fbconfig_id-glxpbuffer
glx/glx-query-drawable-glx_fbconfig_id-glxpixmap
glx/glx-query-drawable-glx_preserved_contents
glx/glx-query-drawable-glxpbuffer-glx_height
glx/glx-query-drawable-glxpbuffer-glx_width
glx/glx-query-drawable-glxpixmap-glx_height
glx/glx-query-drawable-glxpixmap-glx_width
glx/glx-swap-pixmap
glx/glx-swap-pixmap-bad
glx/glx-tfp
glx/glx-visuals-depth -pixmap
glx/glx-visuals-stencil -pixmap
spec/egl 1.4/eglcreatepbuffersurface and then glclear
spec/egl 1.4/largest possible eglcreatepbuffersurface and then glclear
spec/egl_nok_texture_from_pixmap/basic
Cc: Kenneth Graunke <kenneth@whitecape.org>
Cc: Jason Ekstrand <jason.ekstrand@intel.com>
Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
2019-02-21 10:26:11 -08:00
Kenneth Graunke
73d525f188
iris: Fix scratch space allocation on Icelake.
...
Gen9-10 have fewer than 4 subslices per slice, so they need this to be
rounded up. Gen11 isn't documented as needing this hack, and it can
also have more than 4 subslices, so the hack actually can break things.
Fixes tests/spec/arb_enhanced_layouts/execution/component-layout/
sso-vs-gs-fs-array-interleave
2019-02-21 10:26:11 -08:00
Kenneth Graunke
154e3e45bb
iris: better MOCS
2019-02-21 10:26:11 -08:00
Dave Airlie
aaaf611130
iris: fix gpu calcs for timestamp queries
2019-02-21 10:26:11 -08:00
Kenneth Graunke
3c45d03049
iris: only mark depth/stencil as writable if writes are actually enabled
2019-02-21 10:26:11 -08:00
Kenneth Graunke
3a938a4b23
iris: more dead comments
2019-02-21 10:26:11 -08:00
Kenneth Graunke
e169cb09c3
iris: pin and re-pin the scratch BO
2019-02-21 10:26:11 -08:00
Kenneth Graunke
dd0d47a5d2
iris: delete finished comments
2019-02-21 10:26:11 -08:00
Kenneth Graunke
32ee2e4c27
iris: always pin the binder...in the compute context, too.
...
not sure why this hasn't tripped things up
2019-02-21 10:26:11 -08:00
Kenneth Graunke
fbfe07c4f3
iris: Track blend enables, save outbound for resolve code
2019-02-21 10:26:11 -08:00
Kenneth Graunke
5481887ca8
iris: whitespace fixes
2019-02-21 10:26:11 -08:00
Kenneth Graunke
b2fa90706e
iris: Make a alloc_surface_state helper
...
This does the gtt_offset addition for us
2019-02-21 10:26:11 -08:00
Kenneth Graunke
b358c4b92b
iris: Use a surface state fill helper
...
This will check aux_usage eventually
2019-02-21 10:26:11 -08:00
Kenneth Graunke
b92ca4d0f6
iris: don't print the pointer in INTEL_DEBUG=submit
...
lots of noise in diff, hope was it would be useful for gdb, but the
the GEM handle is good enough
2019-02-21 10:26:11 -08:00
Kenneth Graunke
ad969a00c0
iris: Fix the prototype for iris_bo_alloc_tiled
...
This now matches the actual function in iris_bufmgr.c, as well as the
equivalent brw_bufmgr.c function...
2019-02-21 10:26:11 -08:00
Kenneth Graunke
598a78849e
iris: Fix for PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET
...
This fixes ext_transform_feedback-builtin-varyings gl_Position after the
combination of my transform feedback reworks and my vertex buffer
reworks (?)
2019-02-21 10:26:11 -08:00
Kenneth Graunke
392fba5f31
iris: drop unnecessary genx->streamout field
2019-02-21 10:26:11 -08:00
Kenneth Graunke
5307ff6a5f
iris: Implement DrawTransformFeedback()
...
We get the count by dividing the offset by the stride.
2019-02-21 10:26:11 -08:00
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