Erik Faye-Lund [Tue, 16 Jul 2019 11:29:06 +0000 (13:29 +0200)]
HACK: zink: suspend / resume queries on batch-boundaries
HACK because we assert that we don't overrun the pool. We need a
fallback here instead.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 16 Jul 2019 09:20:42 +0000 (11:20 +0200)]
zink: move set_active_query_state-stub to zink_query.c
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 16 Jul 2019 09:02:16 +0000 (11:02 +0200)]
zink: disable timestamp-queries
We don't implement the get_timestamp context-method, so this is just
going to crash if anyone tries to use it. Let's implement it later.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 17:24:15 +0000 (19:24 +0200)]
zink: fixup boolean queries
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 13:48:31 +0000 (15:48 +0200)]
zink/spirv: support vec1 coordinates
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 13:33:34 +0000 (15:33 +0200)]
zink: do not use both depth and stencil aspects for sampler-views
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 13:02:59 +0000 (15:02 +0200)]
zink/spirv: always enable Sampled1D for fragment shaders
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 13:02:15 +0000 (15:02 +0200)]
zink: add note about enabling PIPE_CAP_CLIP_HALFZ
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 12:44:11 +0000 (14:44 +0200)]
zink: don't crash when setting rast-state to NULL
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 12:42:37 +0000 (14:42 +0200)]
zink: remove insecure comment
This isn't as inaccurate as the comment says, the Vulkan documentation
even seems to suggest this is the same. Let's drop the comment.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 12:07:49 +0000 (14:07 +0200)]
zink: avoid texelFetch until it's implemented
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 12:06:22 +0000 (14:06 +0200)]
zink: set ExecutionModeDepthReplacing when depth is written
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 12:05:41 +0000 (14:05 +0200)]
zink: fixup: save rasterizer
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 10:16:25 +0000 (12:16 +0200)]
zink: ensure layout is reasonable before copying
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 10:03:08 +0000 (12:03 +0200)]
zink/spirv: debug-print unknown varying slots
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 15 Jul 2019 10:02:31 +0000 (12:02 +0200)]
zink/spirv: be a bit more strict with fragment-results
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Fri, 12 Jul 2019 10:58:49 +0000 (12:58 +0200)]
zink: wait for transfer when reading
TODO: this could really benefit from a separate transfer-queue, I think.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Fri, 12 Jul 2019 10:43:20 +0000 (12:43 +0200)]
zink: support more texturing
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Fri, 12 Jul 2019 10:06:51 +0000 (12:06 +0200)]
zink/spirv: correct opcode
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Fri, 12 Jul 2019 09:59:12 +0000 (11:59 +0200)]
zink: make sure imageExtent.depth is 1 for arrays
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Fri, 12 Jul 2019 09:40:12 +0000 (11:40 +0200)]
zink: stub resource_from_handle
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Fri, 12 Jul 2019 09:28:45 +0000 (11:28 +0200)]
zink: abort on submit-failure
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Fri, 12 Jul 2019 08:51:12 +0000 (10:51 +0200)]
zink: crash hard on unknown queries
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 11 Jul 2019 14:36:50 +0000 (16:36 +0200)]
zink: add more compares
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 11 Jul 2019 14:25:25 +0000 (16:25 +0200)]
zink: more converts
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 11 Jul 2019 14:23:52 +0000 (16:23 +0200)]
zink: more comparison-ops
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 11 Jul 2019 12:47:20 +0000 (14:47 +0200)]
zink: implement ineg
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 11 Jul 2019 12:46:20 +0000 (14:46 +0200)]
zink: add shift ops
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 11 Jul 2019 12:43:32 +0000 (14:43 +0200)]
zink: add division ops
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 11 Jul 2019 12:31:42 +0000 (14:31 +0200)]
zink: add some opcodes
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 11 Jul 2019 12:22:59 +0000 (14:22 +0200)]
zink: clean up opcode-emitting a bit
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 11 Jul 2019 12:09:15 +0000 (14:09 +0200)]
zink: process one aspect-mask bit at the time
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 10 Jul 2019 15:30:12 +0000 (17:30 +0200)]
zink: save all supported util_blitter states
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 10 Jul 2019 15:19:39 +0000 (17:19 +0200)]
zink: save original scissor and viewport
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 10 Jul 2019 15:10:49 +0000 (17:10 +0200)]
zink: store sampler and image_view counts
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 10 Jul 2019 14:56:10 +0000 (16:56 +0200)]
zink: use pipe_stencil_ref instead of uint32_t-array
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 10 Jul 2019 14:33:27 +0000 (16:33 +0200)]
zink: document end-of-frame hack
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 10 Jul 2019 12:59:58 +0000 (14:59 +0200)]
zink: only consider format-desc if checking details
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Dave Airlie [Mon, 5 Nov 2018 02:41:37 +0000 (02:41 +0000)]
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>
Dave Airlie [Thu, 25 Oct 2018 02:02:15 +0000 (12:02 +1000)]
zink: add samples to rasterizer
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Dave Airlie [Mon, 22 Oct 2018 23:22:34 +0000 (09:22 +1000)]
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>
Erik Faye-Lund [Wed, 10 Jul 2019 12:11:56 +0000 (14:11 +0200)]
zink: refactor fence destruction
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 10 Jul 2019 10:46:30 +0000 (12:46 +0200)]
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>
Erik Faye-Lund [Wed, 10 Jul 2019 10:40:01 +0000 (12:40 +0200)]
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>
Erik Faye-Lund [Thu, 25 Jul 2019 12:06:53 +0000 (14:06 +0200)]
zink: request ucp-lowering
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 8 Jul 2019 13:17:28 +0000 (15:17 +0200)]
zink: do not lower io
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 8 Jul 2019 11:34:13 +0000 (13:34 +0200)]
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>
Erik Faye-Lund [Mon, 8 Jul 2019 11:22:01 +0000 (13:22 +0200)]
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>
Dave Airlie [Wed, 3 Oct 2018 05:25:09 +0000 (06:25 +0100)]
zink: add support for compressed formats
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 25 Jul 2019 12:09:52 +0000 (14:09 +0200)]
zink: request alpha-test lowering
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 24 Jun 2019 16:56:23 +0000 (18:56 +0200)]
zink: pool descriptors per batch
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 24 Jun 2019 16:23:38 +0000 (18:23 +0200)]
zink: reuse constants
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 24 Jun 2019 16:23:13 +0000 (18:23 +0200)]
zink: fix off-by-one in assert
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 24 Jun 2019 09:54:30 +0000 (11:54 +0200)]
zink: squashme: trade cplusplus wrapper for header-guard
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 24 Jun 2019 08:59:07 +0000 (10:59 +0200)]
zink: squashme: forward declare hash_table
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 24 Jun 2019 08:58:42 +0000 (10:58 +0200)]
zink: do not use hash-table for regs
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Fri, 21 Jun 2019 13:37:42 +0000 (15:37 +0200)]
zink: clamp scissors
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Fri, 21 Jun 2019 13:29:06 +0000 (15:29 +0200)]
zink: kill dead code
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Duncan Hopkins [Tue, 9 Apr 2019 16:22:53 +0000 (17:22 +0100)]
zink: clamped limits to INT_MAX when stored as uint32_t.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 20 Jun 2019 13:41:37 +0000 (15:41 +0200)]
zink: prepare for shadow-samplers
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 20 Jun 2019 13:29:20 +0000 (15:29 +0200)]
zink: keep a reference to used render-passes
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 20 Jun 2019 13:20:52 +0000 (15:20 +0200)]
zink: pass screen instead of device to program-functions
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 20 Jun 2019 10:11:15 +0000 (12:11 +0200)]
zink: rename sampler-view destroy function
This name is more consistent with other functions.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 20 Jun 2019 10:03:59 +0000 (12:03 +0200)]
zink: clean up render-pass management
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 20 Jun 2019 10:03:20 +0000 (12:03 +0200)]
zink: remove hack-comment
This isn't a hack, it's how this *should* work.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 20 Jun 2019 09:41:02 +0000 (11:41 +0200)]
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>
Erik Faye-Lund [Thu, 20 Jun 2019 09:39:43 +0000 (11:39 +0200)]
zink: fixup parameter name
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 20 Jun 2019 09:31:40 +0000 (11:31 +0200)]
zink: use helper
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 20 Jun 2019 08:24:03 +0000 (10:24 +0200)]
zink: more batch-ism
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 19 Jun 2019 18:52:35 +0000 (20:52 +0200)]
zink: cache framebuffers
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 19 Jun 2019 17:14:06 +0000 (19:14 +0200)]
zink: cache render-passes
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 19 Jun 2019 16:54:19 +0000 (18:54 +0200)]
zink: simplify renderpass/framebuffer logic a tad
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Thu, 13 Jun 2019 09:08:13 +0000 (11:08 +0200)]
zink: implement batching
This reduces stalling quite a bit.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 19 Jun 2019 13:43:40 +0000 (15:43 +0200)]
zink: return after blitting
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 19 Jun 2019 13:22:46 +0000 (15:22 +0200)]
zink: remove unusual alignment
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 19 Jun 2019 11:15:54 +0000 (13:15 +0200)]
zink: tweak state handling
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 19 Jun 2019 10:29:49 +0000 (12:29 +0200)]
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>
Erik Faye-Lund [Thu, 13 Jun 2019 09:03:55 +0000 (11:03 +0200)]
zink: assign increasing locations to varyings
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 12 Jun 2019 18:05:59 +0000 (20:05 +0200)]
zink: ensure textures are transitioned properly
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 12 Jun 2019 17:24:52 +0000 (19:24 +0200)]
zink: ensure non-fragment shaders use lod-versions of texture
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 12 Jun 2019 16:54:29 +0000 (18:54 +0200)]
zink: emit dedicated block for variables
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 12 Jun 2019 16:53:59 +0000 (18:53 +0200)]
zink: use uvec for undefs
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 12 Jun 2019 16:24:30 +0000 (18:24 +0200)]
zink: do not destroy staging-resource, deref it
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 12 Jun 2019 15:43:03 +0000 (17:43 +0200)]
zink: track used resources
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 12 Jun 2019 15:27:49 +0000 (17:27 +0200)]
zink: implement fmod
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Wed, 17 Apr 2019 19:08:54 +0000 (21:08 +0200)]
zink: store shader_info in zink_shader
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Sat, 6 Apr 2019 19:06:11 +0000 (21:06 +0200)]
zink: texture-rects?
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 21:22:41 +0000 (22:22 +0100)]
zink: delete samplers after the current cmdbuf
This makes them zombies for a little while.
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 21:07:47 +0000 (22:07 +0100)]
zink: add curr_cmdbuf-helper
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 20:05:17 +0000 (21:05 +0100)]
zink: reference blit/copy-region resources
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 19:44:49 +0000 (20:44 +0100)]
zink: whitespace cleanup
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 19:33:35 +0000 (20:33 +0100)]
zink: wait for idle on context-destroy
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 19:22:31 +0000 (20:22 +0100)]
zink: reference ubos and textures
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 18:35:13 +0000 (19:35 +0100)]
zink: reference vertex and index buffers
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 18:10:43 +0000 (19:10 +0100)]
zink: return old fence from zink_flush
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 17:25:02 +0000 (18:25 +0100)]
zink: reference renderpass and framebuffer from cmdbuf
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 14:20:17 +0000 (15:20 +0100)]
zink: cache those pipelines
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 13:53:32 +0000 (14:53 +0100)]
zink: move renderpass inside gfx pipeline state
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Tue, 26 Mar 2019 12:52:09 +0000 (13:52 +0100)]
zink: cache programs
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Erik Faye-Lund [Mon, 25 Mar 2019 14:59:25 +0000 (15:59 +0100)]
zink: pass zink_render_pass to pipeline-creation
Acked-by: Jordan Justen <jordan.l.justen@intel.com>