mesa.git
4 years agozink: use pipe_stencil_ref instead of uint32_t-array
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>
4 years agozink: document end-of-frame hack
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>
4 years agozink: only consider format-desc if checking details
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>
4 years agozink: attempt to get multisample resource creation right
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>
4 years agozink: add samples to rasterizer
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>
4 years agozink: add sample mask support
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>
4 years agozink: refactor fence destruction
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>
4 years agozink: drop unused argument
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>
4 years agozink: cleanup zink_end_batch
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>
4 years agozink: request ucp-lowering
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>
4 years agozink: do not lower io
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>
4 years agozink/spirv: rename vec_type
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>
4 years agozink/spirv: var -> regs
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>
4 years agozink: add support for compressed formats
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>
4 years agozink: request alpha-test lowering
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>
4 years agozink: pool descriptors per batch
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>
4 years agozink: reuse constants
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>
4 years agozink: fix off-by-one in assert
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>
4 years agozink: squashme: trade cplusplus wrapper for header-guard
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>
4 years agozink: squashme: forward declare hash_table
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>
4 years agozink: do not use hash-table for regs
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>
4 years agozink: clamp scissors
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>
4 years agozink: kill dead code
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>
4 years agozink: clamped limits to INT_MAX when stored as uint32_t.
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>
4 years agozink: prepare for shadow-samplers
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>
4 years agozink: keep a reference to used render-passes
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>
4 years agozink: pass screen instead of device to program-functions
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>
4 years agozink: rename sampler-view destroy function
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>
4 years agozink: clean up render-pass management
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>
4 years agozink: remove hack-comment
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>
4 years agozink: ensure sampler-views survive a batch
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>
4 years agozink: fixup parameter name
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>
4 years agozink: use helper
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>
4 years agozink: more batch-ism
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>
4 years agozink: cache framebuffers
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>
4 years agozink: cache render-passes
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>
4 years agozink: simplify renderpass/framebuffer logic a tad
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>
4 years agozink: implement batching
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>
4 years agozink: return after blitting
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>
4 years agozink: remove unusual alignment
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>
4 years agozink: tweak state handling
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>
4 years agozink: move primitive-topology stuff into program
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>
4 years agozink: assign increasing locations to varyings
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>
4 years agozink: ensure textures are transitioned properly
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>
4 years agozink: ensure non-fragment shaders use lod-versions of texture
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>
4 years agozink: emit dedicated block for variables
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>
4 years agozink: use uvec for undefs
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>
4 years agozink: do not destroy staging-resource, deref it
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>
4 years agozink: track used resources
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>
4 years agozink: implement fmod
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>
4 years agozink: store shader_info in zink_shader
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>
4 years agozink: texture-rects?
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>
4 years agozink: delete samplers after the current cmdbuf
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>
4 years agozink: add curr_cmdbuf-helper
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>
4 years agozink: reference blit/copy-region resources
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>
4 years agozink: whitespace cleanup
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>
4 years agozink: wait for idle on context-destroy
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>
4 years agozink: reference ubos and textures
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>
4 years agozink: reference vertex and index buffers
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>
4 years agozink: return old fence from zink_flush
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>
4 years agozink: reference renderpass and framebuffer from cmdbuf
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>
4 years agozink: cache those pipelines
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>
4 years agozink: move renderpass inside gfx pipeline state
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>
4 years agozink: cache programs
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>
4 years agozink: pass zink_render_pass to pipeline-creation
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>
4 years agozink: prepare for multiple cmdbufs
Erik Faye-Lund [Mon, 25 Mar 2019 14:21:30 +0000 (15:21 +0100)]
zink: prepare for multiple cmdbufs

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: move cmdbuf-resetting into a helper
Erik Faye-Lund [Mon, 25 Mar 2019 13:59:44 +0000 (14:59 +0100)]
zink: move cmdbuf-resetting into a helper

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: do not leak image-views
Erik Faye-Lund [Mon, 25 Mar 2019 13:29:50 +0000 (14:29 +0100)]
zink: do not leak image-views

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: move render-pass begin to helper
Erik Faye-Lund [Mon, 25 Mar 2019 11:58:24 +0000 (12:58 +0100)]
zink: move render-pass begin to helper

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: prepare for caching of renderpases/framebuffers
Erik Faye-Lund [Mon, 25 Mar 2019 11:54:56 +0000 (12:54 +0100)]
zink: prepare for caching of renderpases/framebuffers

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink/spirv: implement loops
Erik Faye-Lund [Mon, 18 Mar 2019 19:29:49 +0000 (20:29 +0100)]
zink/spirv: implement loops

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink/spirv: implement discard
Erik Faye-Lund [Thu, 1 Nov 2018 21:12:11 +0000 (22:12 +0100)]
zink/spirv: implement discard

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink/spirv: implement if-statements
Erik Faye-Lund [Fri, 22 Mar 2019 14:10:25 +0000 (15:10 +0100)]
zink/spirv: implement if-statements

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink/spirv: prepare for control-flow
Erik Faye-Lund [Tue, 30 Oct 2018 09:43:53 +0000 (10:43 +0100)]
zink/spirv: prepare for control-flow

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink/spirv: handle reading registers
Erik Faye-Lund [Thu, 21 Mar 2019 11:14:53 +0000 (12:14 +0100)]
zink/spirv: handle reading registers

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink/spirv: implement some integer ops
Erik Faye-Lund [Wed, 20 Mar 2019 15:16:45 +0000 (16:16 +0100)]
zink/spirv: implement some integer ops

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink/spirv: store all values as uint.
Dave Airlie [Fri, 19 Oct 2018 01:02:26 +0000 (11:02 +1000)]
zink/spirv: store all values as uint.

This adds bitcasting to uint everywhere for now,
and stores all spir-v ssa values as uints.

It also casts bool to 0/0xffffffff for now
(nir 1-bit bools may be coming in the future).

This fixes a lot of piglit tests to pass now

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: remove discard_if
Erik Faye-Lund [Thu, 1 Nov 2018 20:44:09 +0000 (21:44 +0100)]
zink: remove discard_if

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: query support (v2)
Dave Airlie [Tue, 2 Oct 2018 23:57:41 +0000 (00:57 +0100)]
zink: query support (v2)

This at least passes piglit occlusion_query test for me here now.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: transform z-range
Erik Faye-Lund [Thu, 27 Sep 2018 16:23:14 +0000 (18:23 +0200)]
zink: transform z-range

In vulkan, the Z-range of clip-space goes from 0..W instead of -W..+W
as is the case in OpenGL. So we need to transform the Z-range to
account for this.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: add dri loader
Dave Airlie [Tue, 2 Oct 2018 22:27:36 +0000 (23:27 +0100)]
zink: add dri loader

export MESA_LOADER_DRIVER_OVERRIDE=zink should now work without using
swrast paths

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink/spirv: implement point-sprites
Erik Faye-Lund [Mon, 12 Nov 2018 12:20:15 +0000 (13:20 +0100)]
zink/spirv: implement point-sprites

This passes glsl-fs-pointcoord_gles2 from piglit.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: ask for flatshade lowering
Dave Airlie [Thu, 24 Jan 2019 03:13:26 +0000 (13:13 +1000)]
zink: ask for flatshade lowering

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: detect presence of VK_KHR_maintenance1
Erik Faye-Lund [Wed, 24 Oct 2018 07:46:05 +0000 (09:46 +0200)]
zink: detect presence of VK_KHR_maintenance1

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agozink: introduce opengl over vulkan
Erik Faye-Lund [Fri, 31 Aug 2018 14:50:20 +0000 (16:50 +0200)]
zink: introduce opengl over vulkan

Here's zink, a so far pretty simple vulkan-gallium driver that is able
to translate some applications from OpenGL to Vulkan.

The compiler is quite limited for now, this will be improved on later.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agoradv: fix OpQuantizeToF16 for NaN on GFX6-7
Samuel Pitoiset [Thu, 24 Oct 2019 16:48:54 +0000 (18:48 +0200)]
radv: fix OpQuantizeToF16 for NaN on GFX6-7

Do not flush NaN to 0.

Fixes
dEQP-VK.spirv_assembly.instruction.compute.opquantize.propagated_nans

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
4 years agoradv: enable fast depth/stencil clears with separate aspects on GFX8
Samuel Pitoiset [Thu, 24 Oct 2019 12:59:29 +0000 (14:59 +0200)]
radv: enable fast depth/stencil clears with separate aspects on GFX8

It's similar to GFX9+. Shadow of Mordor (Vulkan beta) hits that
path and it works fine.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
4 years agoiris: Mark aux-map BO as used by all batches
Jordan Justen [Sat, 28 Apr 2018 08:56:59 +0000 (01:56 -0700)]
iris: Mark aux-map BO as used by all batches

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
4 years agoiris/gen12: Write GFX_AUX_TABLE base address register
Jordan Justen [Fri, 27 Apr 2018 23:39:30 +0000 (16:39 -0700)]
iris/gen12: Write GFX_AUX_TABLE base address register

Rework:
 * Move last_aux_map_state to iris_batch. (Nanley, Ken)

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
4 years agoiris: Map each surf to it's aux-surf in the aux-map tables
Jordan Justen [Sat, 28 Apr 2018 08:58:54 +0000 (01:58 -0700)]
iris: Map each surf to it's aux-surf in the aux-map tables

Rework: Nanley Chery
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
4 years agoisl/gen12: 64k surface alignment
Jordan Justen [Fri, 16 Feb 2018 10:20:00 +0000 (02:20 -0800)]
isl/gen12: 64k surface alignment

Reworks:
 * Update size for aux map change (Nanley)

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
4 years agoiris/bufmgr: Initialize aux map context for gen12
Jordan Justen [Fri, 27 Apr 2018 23:35:28 +0000 (16:35 -0700)]
iris/bufmgr: Initialize aux map context for gen12

Reworks:
 * free gen_buffer in gen_aux_map_buffer_free. (Rafael)
 * lock around aux_map_bos accesses. (Ken)

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
4 years agoanv: Add aux-map translation for gen12+
Lionel Landwerlin [Mon, 21 Oct 2019 14:17:44 +0000 (17:17 +0300)]
anv: Add aux-map translation for gen12+

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
4 years agoanv/gen12: Write GFX_AUX_TABLE base address register
Jordan Justen [Wed, 28 Mar 2018 08:50:17 +0000 (01:50 -0700)]
anv/gen12: Write GFX_AUX_TABLE base address register

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
4 years agogenxml/gen12: Add AUX MAP register definitions
Jordan Justen [Wed, 28 Mar 2018 08:16:12 +0000 (01:16 -0700)]
genxml/gen12: Add AUX MAP register definitions

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
4 years agoanv/gen12: Initialize aux map context
Jordan Justen [Wed, 28 Mar 2018 08:42:50 +0000 (01:42 -0700)]
anv/gen12: Initialize aux map context

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
4 years agointel/common: Add surface to aux map translation table support
Jordan Justen [Wed, 28 Mar 2018 08:10:06 +0000 (01:10 -0700)]
intel/common: Add surface to aux map translation table support

Reworks:
 * Add ISL_FORMAT_B8G8R8X8_UNORM_SRGB to get_format_encoding (Nanley)
 * ralloc_free aux_map_buffer entries in gen_aux_map_finish. (Rafael)
 * verify_aligned_space => align_and_verify_space (Rafael)
 * Add mutex to aux-map code. (Rafael, Nanley)
 * Add gen_aux_map_fill_bos (Ken)
 * Make gen_aux_map_get_state_num lockless

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
4 years agoanv: Implement aux-map allocator interface
Jordan Justen [Sun, 1 Apr 2018 20:57:13 +0000 (13:57 -0700)]
anv: Implement aux-map allocator interface

This interface allows the aux-map code in the intel/common library to
allocate and free buffers.

Reworks:
 * free gen_buffer in gen_aux_map_buffer_free. (Rafael)

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
4 years agointel/common: Add interface to allocate device buffers
Jordan Justen [Sun, 1 Apr 2018 20:37:55 +0000 (13:37 -0700)]
intel/common: Add interface to allocate device buffers

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
4 years agointel/dev: store whether the device uses an aux map tables on devinfo
Lionel Landwerlin [Mon, 21 Oct 2019 14:16:05 +0000 (17:16 +0300)]
intel/dev: store whether the device uses an aux map tables on devinfo

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>