Commit graph

117072 commits

Author SHA1 Message Date
Erik Faye-Lund
10439594ec zink: only consider format-desc if checking details
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:46 +00:00
Dave Airlie
4480aefc38 zink: attempt to get multisample resource creation right
Use the exposed vulkan limits to fill out supported formats.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Dave Airlie
e234116a96 zink: add samples to rasterizer
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Dave Airlie
0c5f3e50ae zink: add sample mask support
This isn't really used yet, but may as well just fill it in.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
dbf67e8a20 zink: refactor fence destruction
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
4c5ade8ca6 zink: drop unused argument
Because si.waitSemaphoreCount is 0, this won't even be looked at by the
driver, so let's just drop it.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
03efb6dd27 zink: cleanup zink_end_batch
This inlines submit_cmdbuf into zink_end_batch, the only place it's
used. This makes the code a bit more straight-forward to read.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
8edd357795 zink: request ucp-lowering
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
80673264cb zink: do not lower io
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
af0dc71d6f zink/spirv: rename vec_type
These aren't guaranteed to be vectors, they can also be scalars. The
var-part is the significant part here, not the vector-ness. So let's
rename these.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
62f7d9afe8 zink/spirv: var -> regs
These track nir-registers, so it's clearer if we refer to them by that
name instead. There's potentially more vars than these.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Dave Airlie
5dbfb02459 zink: add support for compressed formats
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
6ae8686bff zink: request alpha-test lowering
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
d9b7d7b051 zink: pool descriptors per batch
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
9913e5c40b zink: reuse constants
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
8e5d24fedf zink: fix off-by-one in assert
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
35c0ef8852 zink: squashme: trade cplusplus wrapper for header-guard
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
bb76a3f61d zink: squashme: forward declare hash_table
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
fe34a35333 zink: do not use hash-table for regs
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
ca074edc7f zink: clamp scissors
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
249cd3fc13 zink: kill dead code
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Duncan Hopkins
d850e2a3f2 zink: clamped limits to INT_MAX when stored as uint32_t.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
737a2bba35 zink: prepare for shadow-samplers
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
5dfa6be36e zink: keep a reference to used render-passes
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
1927d11fc0 zink: pass screen instead of device to program-functions
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
f90ee9e33a zink: rename sampler-view destroy function
This name is more consistent with other functions.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
e4bbdcbf80 zink: clean up render-pass management
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
0296e8981d zink: remove hack-comment
This isn't a hack, it's how this *should* work.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
2a7302075d zink: ensure sampler-views survive a batch
we don't need to track the resources for the samplers any longer, as
the sampler view holds a reference instead.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
09e20d88e7 zink: fixup parameter name
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
795c0e95c5 zink: use helper
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
9e0ff0ffda zink: more batch-ism
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
33b2f914db zink: cache framebuffers
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
a872f46369 zink: cache render-passes
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
5f21637370 zink: simplify renderpass/framebuffer logic a tad
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
9cac63cae9 zink: implement batching
This reduces stalling quite a bit.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:45 +00:00
Erik Faye-Lund
56b1048bb0 zink: return after blitting
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
ef8750da3d zink: remove unusual alignment
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
94d3b9389e zink: tweak state handling
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
8f6449f296 zink: move primitive-topology stuff into program
The primitive topology is a bit of an odd-ball, as it's the only
truly draw-call specific state that needs to be passed to the program to
get a pipeline.

So let's make this a bit more explict, by passing it separately. This
makes the flow of data a bit easier to wrap your head around.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
e0a93ba351 zink: assign increasing locations to varyings
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
cedf3598b4 zink: ensure textures are transitioned properly
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
c471525fdc zink: ensure non-fragment shaders use lod-versions of texture
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
9cf6163ea1 zink: emit dedicated block for variables
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
93af00502e zink: use uvec for undefs
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
a8e63387f3 zink: do not destroy staging-resource, deref it
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
819f9fd2f2 zink: track used resources
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
5a9f235ac2 zink: implement fmod
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
22d080b3ac zink: store shader_info in zink_shader
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00
Erik Faye-Lund
ce6f19c4ec zink: texture-rects?
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
2019-10-28 08:51:44 +00:00