mesa.git
5 years agointel/blorp: Halve the Gen12 fast-clear/resolve rectangle
Nanley Chery [Thu, 9 May 2019 23:38:12 +0000 (16:38 -0700)]
intel/blorp: Halve the Gen12 fast-clear/resolve rectangle

Update their dimensions according to the Bspec.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agointel/blorp/gen12: Set FWCC when storing the clear color.
Rafael Antognolli [Wed, 24 Apr 2019 20:05:20 +0000 (13:05 -0700)]
intel/blorp/gen12: Set FWCC when storing the clear color.

From "Render Target Fast Clear" description for Gen12:

   "SW must store clear color using MI_STORE_DATA_IMM with
   ForceWriteCompletionCheck bit set."

From Instruction_MI_STORE_DATA_IMM, bitfield 10 (when set to 1):

   "Following the last write from this command, Command Streamer
   will wait for all previous writes are completed and in global
   observable domain before moving to next command."

We use 4 SDIs to store the clear color (one per channel). From the
description, it looks to me that setting that flag only on the last SDI
should be enough.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agoisl: Round up some pitches to 512B for Gen12's CCS
Nanley Chery [Tue, 23 Apr 2019 22:28:18 +0000 (15:28 -0700)]
isl: Round up some pitches to 512B for Gen12's CCS

Gen12's CCS requires that the main surface have a pitch aligned to 512B.

v2. Provide a BSpec citation. (Ken)

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
5 years agoiris: Don't assume CCS_E includes CCS_D
Nanley Chery [Tue, 17 Sep 2019 16:16:12 +0000 (09:16 -0700)]
iris: Don't assume CCS_E includes CCS_D

There's no longer a clear-only compression mode of CCS on Gen12+.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agoanv/cmd_buffer: Don't assume CCS_E includes CCS_D
Nanley Chery [Tue, 17 Sep 2019 16:16:12 +0000 (09:16 -0700)]
anv/cmd_buffer: Don't assume CCS_E includes CCS_D

There's no longer a clear-only compression mode of CCS on Gen12+.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
5 years agoanv/image: Disable CCS_D on Gen12+
Nanley Chery [Fri, 14 Sep 2018 18:25:43 +0000 (11:25 -0700)]
anv/image: Disable CCS_D on Gen12+

Clear-only compression no longer exists on TGL.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agoisl: Disable CCS_D on Gen12+
Nanley Chery [Fri, 9 Aug 2019 17:41:38 +0000 (10:41 -0700)]
isl: Disable CCS_D on Gen12+

Clear-only compression no longer exists on TGL.

v2. Add BSpec reference. (Sagar)

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agoiris: Drop support for I915_FORMAT_MOD_Y_TILED_CCS on TGL+
Nanley Chery [Mon, 23 Sep 2019 18:09:46 +0000 (11:09 -0700)]
iris: Drop support for I915_FORMAT_MOD_Y_TILED_CCS on TGL+

The format of the CCS has changed.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agoanv/formats: Disable I915_FORMAT_MOD_Y_TILED_CCS on TGL+
Nanley Chery [Mon, 23 Sep 2019 20:32:06 +0000 (13:32 -0700)]
anv/formats: Disable I915_FORMAT_MOD_Y_TILED_CCS on TGL+

The format of the CCS has changed.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agoanv: Properly allocate aux-tracking space for CCS_E
Nanley Chery [Mon, 21 Oct 2019 19:56:00 +0000 (12:56 -0700)]
anv: Properly allocate aux-tracking space for CCS_E

add_aux_state_tracking_buffer() actually checks the aux usage when
determining how many dwords to allocate for state tracking. Move the
function call to the point after the CCS_E aux usage is assigned.

Fixes: de3be618016 ("anv/cmd_buffer: Rework aux tracking")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
5 years agoanv/blorp: Use BLORP_BATCH_NO_UPDATE_CLEAR_COLOR
Nanley Chery [Wed, 23 Oct 2019 22:51:56 +0000 (15:51 -0700)]
anv/blorp: Use BLORP_BATCH_NO_UPDATE_CLEAR_COLOR

Avoid failing the `info->use_clear_address` assertion in ISL on Gen12+.

Fixes: 6c9f9a82d78 ("intel/genxml,isl: Add gen12 render surface state changes")
Reported-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
5 years agoanv: Add support for depth bounds testing.
Plamena Manolova [Thu, 24 Oct 2019 20:05:11 +0000 (21:05 +0100)]
anv: Add support for depth bounds testing.

In gen12 we use the 3DSTATE_DEPTH_BOUNDS instruction
to enable depth bounds testing.

Signed-off-by: Plamena Manolova <plamena.manolova@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
5 years agoiris: Add support for depth bounds testing.
Plamena Manolova [Wed, 23 Oct 2019 19:56:45 +0000 (20:56 +0100)]
iris: Add support for depth bounds testing.

In gen12 we use the 3DSTATE_DEPTH_BOUNDS instruction
to enable depth bounds testing.

Signed-off-by: Plamena Manolova <plamena.manolova@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
5 years agogenxml: Add 3DSTATE_DEPTH_BOUNDS instruction.
Plamena Manolova [Wed, 23 Oct 2019 20:39:02 +0000 (21:39 +0100)]
genxml: Add 3DSTATE_DEPTH_BOUNDS instruction.

In gen12 we add the 3DSTATE_DEPTH_BOUNDS instruction
which enables support for depth bounds testing.

Signed-off-by: Plamena Manolova <plamena.manolova@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
5 years agoglsl: Initialize all fields of ir_variable in constructor
Danylo Piliaiev [Fri, 25 Oct 2019 16:33:08 +0000 (19:33 +0300)]
glsl: Initialize all fields of ir_variable in constructor

Better be safe, even if we could technically avoid this for
some fields.

Cc: <mesa-stable@lists.freedesktop.org>
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1999
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Tested-by: Witold Baryluk <witold.baryluk@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
5 years agoutil: remove LIST_IS_EMPTY macro
Timothy Arceri [Mon, 28 Oct 2019 10:30:51 +0000 (21:30 +1100)]
util: remove LIST_IS_EMPTY macro

Just use the inlined function directly. The new function was introduced
in addcf410.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
5 years agoutil: rename list_empty() to list_is_empty()
Timothy Arceri [Mon, 28 Oct 2019 10:27:52 +0000 (21:27 +1100)]
util: rename list_empty() to list_is_empty()

This makes it clear that it's a boolean test and not an action
(eg. "empty the list").

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
5 years agoutil: remove LIST_DEL macro
Timothy Arceri [Sun, 27 Oct 2019 23:11:53 +0000 (10:11 +1100)]
util: remove LIST_DEL macro

Just use the inlined function directly. The macro was replaced with
the function in ebe304fa540f.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
5 years agoutil: remove LIST_DELINIT macro
Timothy Arceri [Sun, 27 Oct 2019 23:08:00 +0000 (10:08 +1100)]
util: remove LIST_DELINIT macro

Just use the inlined function directly. The macro was replaced with
the function in ebe304fa540f.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
5 years agoutil: remove LIST_REPLACE macro
Timothy Arceri [Sun, 27 Oct 2019 23:05:45 +0000 (10:05 +1100)]
util: remove LIST_REPLACE macro

Just use the inlined function directly. The macro was replaced with
the function in ebe304fa540f.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
5 years agoutil: remove LIST_ADD macro
Timothy Arceri [Sun, 27 Oct 2019 23:03:21 +0000 (10:03 +1100)]
util: remove LIST_ADD macro

Just use the inlined function directly. The macro was replaced with
the function in ebe304fa540f.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
5 years agoutil: remove LIST_ADDTAIL macro
Timothy Arceri [Sun, 27 Oct 2019 22:58:31 +0000 (09:58 +1100)]
util: remove LIST_ADDTAIL macro

Just use the inlined function directly. The macro was replaced with
the function in ebe304fa540f.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
5 years agoutil: remove LIST_INITHEAD macro
Timothy Arceri [Sun, 27 Oct 2019 22:49:39 +0000 (09:49 +1100)]
util: remove LIST_INITHEAD macro

Just use the inlined function directly. The macro was replaced with
the function in ebe304fa540f.

Reviewed-by: Eric Engestrom <eric@engestrom.ch>
5 years agogitlab-ci: fixup debian tags
Erik Faye-Lund [Mon, 28 Oct 2019 11:02:51 +0000 (12:02 +0100)]
gitlab-ci: fixup debian tags

When resolving a merge-conflict, I accidentally only updated the
ARM64-tag tag. Let's correct this.

Fixes: 3d529c17393 ("gitlab-ci: also build Zink on CI")
5 years agointel/compiler: Fix C++ one definition rule violations
Danylo Piliaiev [Fri, 25 Oct 2019 16:49:43 +0000 (19:49 +0300)]
intel/compiler: Fix C++ one definition rule violations

When building with "-flto" brw::block_data definitions
were colliding.

Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
5 years agogitlab-ci: also build Zink on CI
Erik Faye-Lund [Tue, 22 Oct 2019 07:08:11 +0000 (09:08 +0200)]
gitlab-ci: also build Zink on CI

This prevents accidentally breaking the driver-build while working on
other drivers.

Signed-off-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
5 years agozink: simplify gl-to-vulkan lowering
Erik Faye-Lund [Wed, 9 Oct 2019 09:25:50 +0000 (11:25 +0200)]
zink: simplify gl-to-vulkan lowering

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: more complete sampler-dim handling
Erik Faye-Lund [Tue, 8 Oct 2019 09:54:10 +0000 (11:54 +0200)]
zink/spirv: more complete sampler-dim handling

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: fixup scissoring
Erik Faye-Lund [Tue, 8 Oct 2019 09:43:29 +0000 (11:43 +0200)]
zink: fixup scissoring

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: limited uniform buffer size so the limits is not exceeded.
Duncan Hopkins [Thu, 26 Sep 2019 11:25:26 +0000 (12:25 +0100)]
zink: limited uniform buffer size so the limits is not exceeded.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: do not set lineWidth to invalid value
Erik Faye-Lund [Mon, 23 Sep 2019 20:13:50 +0000 (22:13 +0200)]
zink: do not set lineWidth to invalid value

Some implementations don't support the lineWidth-feature, so let's
avoid setting invalid state to them. But since we don't have a fallback
for this, inform the user.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: pass screen to zink_create_gfx_pipeline
Erik Faye-Lund [Mon, 23 Sep 2019 20:11:35 +0000 (22:11 +0200)]
zink: pass screen to zink_create_gfx_pipeline

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: respect ubo buffer alignment requirement
Duncan Hopkins [Thu, 11 Jul 2019 10:51:08 +0000 (11:51 +0100)]
zink: respect ubo buffer alignment requirement

The driver can report a minimum alignment for UBOs, and that can be
larger than 64, which we've currently been using. Let's play ball, and
use the reported value instead.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: fix line-width calculation
Duncan Hopkins [Wed, 10 Jul 2019 13:50:16 +0000 (14:50 +0100)]
zink: fix line-width calculation

There's two things that goes wrong in this code on some drivers:
1. Rounding off the line-width to granularity can push it outside the
   legal range.
2. A granularity of 0.0 results in NaN, because we divide by zero.

So let's make this code a bit more robust.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: fixup return-value
Erik Faye-Lund [Thu, 25 Jul 2019 18:52:10 +0000 (20:52 +0200)]
zink: fixup return-value

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: refactor blitting
Erik Faye-Lund [Wed, 24 Jul 2019 21:18:08 +0000 (23:18 +0200)]
zink: refactor blitting

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: implement resource_from_handle
Erik Faye-Lund [Wed, 24 Jul 2019 15:58:54 +0000 (17:58 +0200)]
zink: implement resource_from_handle

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: use VK_FORMAT_B8G8R8A8_UNORM for PIPE_FORMAT_B8G8R8X8_UNORM
Erik Faye-Lund [Wed, 24 Jul 2019 19:59:04 +0000 (21:59 +0200)]
zink: use VK_FORMAT_B8G8R8A8_UNORM for PIPE_FORMAT_B8G8R8X8_UNORM

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: do not set VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for non-3D textures
Erik Faye-Lund [Wed, 24 Jul 2019 12:09:11 +0000 (14:09 +0200)]
zink: do not set VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT for non-3D textures

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: alias var0 on tex0 etc instead
Erik Faye-Lund [Tue, 23 Jul 2019 15:55:51 +0000 (17:55 +0200)]
zink/spirv: alias var0 on tex0 etc instead

This fixes Quake3, and is more in line with directx semantics.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: lower two-sided coloring
Erik Faye-Lund [Thu, 25 Jul 2019 11:50:40 +0000 (13:50 +0200)]
zink: lower two-sided coloring

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: alias generic varyings on non-generic ones
Erik Faye-Lund [Mon, 22 Jul 2019 14:16:40 +0000 (16:16 +0200)]
zink/spirv: alias generic varyings on non-generic ones

This gets rid of the nasty location-allocation hack.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: implement load_front_face
Erik Faye-Lund [Mon, 22 Jul 2019 11:24:14 +0000 (13:24 +0200)]
zink/spirv: implement load_front_face

We're now adding interface-types during code-emitting, so we need to
defer emitting the entry-point. No biggie, spirv_builder is prepares for
this.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: fixup b2i32
Erik Faye-Lund [Fri, 19 Jul 2019 15:35:27 +0000 (17:35 +0200)]
zink/spirv: fixup b2i32

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: do not lower bools to float
Erik Faye-Lund [Fri, 19 Jul 2019 15:05:19 +0000 (17:05 +0200)]
zink: do not lower bools to float

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: prepare for 1-bit booleans
Erik Faye-Lund [Fri, 19 Jul 2019 15:04:50 +0000 (17:04 +0200)]
zink/spirv: prepare for 1-bit booleans

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: fixup b2i32 and implement b2f32
Erik Faye-Lund [Fri, 19 Jul 2019 14:53:04 +0000 (16:53 +0200)]
zink/spirv: fixup b2i32 and implement b2f32

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: clean up get_[fu]vec_constant
Erik Faye-Lund [Fri, 19 Jul 2019 14:25:21 +0000 (16:25 +0200)]
zink/spirv: clean up get_[fu]vec_constant

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: inline get_uvec_constant into emit_load_const
Erik Faye-Lund [Fri, 19 Jul 2019 14:12:57 +0000 (16:12 +0200)]
zink/spirv: inline get_uvec_constant into emit_load_const

This is the only call-site that wants to specify unique values per
component for any of the get_*_constant functions. So let's give this
its own implementation instead, so we can ease the burden for the rest.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: add emit_uint_const-helper
Erik Faye-Lund [Fri, 19 Jul 2019 14:09:11 +0000 (16:09 +0200)]
zink/spirv: add emit_uint_const-helper

While we're at it, let's move emit_float_const to the same location as
this needs to be defined at.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: add emit_bitcast-helper
Erik Faye-Lund [Fri, 19 Jul 2019 13:49:23 +0000 (15:49 +0200)]
zink/spirv: add emit_bitcast-helper

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: use bit_size instead of hard-coding
Erik Faye-Lund [Fri, 19 Jul 2019 13:34:07 +0000 (15:34 +0200)]
zink/spirv: use bit_size instead of hard-coding

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: implement emit_float_const helper
Erik Faye-Lund [Fri, 19 Jul 2019 13:30:54 +0000 (15:30 +0200)]
zink/spirv: implement emit_float_const helper

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: implement emit_select helper
Erik Faye-Lund [Fri, 19 Jul 2019 13:23:47 +0000 (15:23 +0200)]
zink/spirv: implement emit_select helper

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: implement b2i32
Erik Faye-Lund [Fri, 19 Jul 2019 13:03:13 +0000 (15:03 +0200)]
zink/spirv: implement b2i32

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: implement bitwise ops
Erik Faye-Lund [Fri, 19 Jul 2019 13:02:49 +0000 (15:02 +0200)]
zink/spirv: implement bitwise ops

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: implement bcsel
Erik Faye-Lund [Fri, 19 Jul 2019 12:41:08 +0000 (14:41 +0200)]
zink/spirv: implement bcsel

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: assert bit-size
Erik Faye-Lund [Fri, 19 Jul 2019 12:39:30 +0000 (14:39 +0200)]
zink/spirv: assert bit-size

This is going to make it easier to verify that 1-bit float sizes don't
leak into the rest of the code.

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: implement f2b1
Erik Faye-Lund [Fri, 19 Jul 2019 12:27:47 +0000 (14:27 +0200)]
zink/spirv: implement f2b1

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink/spirv: use ordered compares
Erik Faye-Lund [Thu, 18 Jul 2019 16:42:20 +0000 (18:42 +0200)]
zink/spirv: use ordered compares

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: lower point-size
Erik Faye-Lund [Thu, 18 Jul 2019 15:04:09 +0000 (17:04 +0200)]
zink: lower point-size

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: add missing sRGB DXT-formats
Erik Faye-Lund [Wed, 17 Jul 2019 09:33:58 +0000 (11:33 +0200)]
zink: add missing sRGB DXT-formats

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: disable PIPE_CAP_QUERY_TIME_ELAPSED for now
Erik Faye-Lund [Wed, 17 Jul 2019 09:26:53 +0000 (11:26 +0200)]
zink: disable PIPE_CAP_QUERY_TIME_ELAPSED for now

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: support shadow-samplers
Erik Faye-Lund [Tue, 16 Jul 2019 15:52:36 +0000 (17:52 +0200)]
zink: support shadow-samplers

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: fix rendering to 3D-textures
Erik Faye-Lund [Tue, 16 Jul 2019 15:16:09 +0000 (17:16 +0200)]
zink: fix rendering to 3D-textures

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: initialize nr_samples for pipe_surface
Erik Faye-Lund [Tue, 16 Jul 2019 15:02:56 +0000 (17:02 +0200)]
zink: initialize nr_samples for pipe_surface

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: use primconvert to get rid of 8-bit indices
Erik Faye-Lund [Tue, 16 Jul 2019 13:18:53 +0000 (15:18 +0200)]
zink: use primconvert to get rid of 8-bit indices

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agozink: also accept txl
Erik Faye-Lund [Tue, 16 Jul 2019 12:25:59 +0000 (14:25 +0200)]
zink: also accept txl

Acked-by: Jordan Justen <jordan.l.justen@intel.com>
5 years agoHACK: zink: suspend / resume queries on batch-boundaries
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>
5 years agozink: move set_active_query_state-stub to zink_query.c
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>
5 years agozink: disable timestamp-queries
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>
5 years agozink: fixup boolean queries
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>
5 years agozink/spirv: support vec1 coordinates
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>
5 years agozink: do not use both depth and stencil aspects for sampler-views
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>
5 years agozink/spirv: always enable Sampled1D for fragment shaders
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>
5 years agozink: add note about enabling PIPE_CAP_CLIP_HALFZ
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>
5 years agozink: don't crash when setting rast-state to NULL
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>
5 years agozink: remove insecure comment
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>
5 years agozink: avoid texelFetch until it's implemented
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>
5 years agozink: set ExecutionModeDepthReplacing when depth is written
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>
5 years agozink: fixup: save rasterizer
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>
5 years agozink: ensure layout is reasonable before copying
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>
5 years agozink/spirv: debug-print unknown varying slots
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>
5 years agozink/spirv: be a bit more strict with fragment-results
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>
5 years agozink: wait for transfer when reading
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>
5 years agozink: support more texturing
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>
5 years agozink/spirv: correct opcode
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>
5 years agozink: make sure imageExtent.depth is 1 for arrays
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>
5 years agozink: stub resource_from_handle
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>
5 years agozink: abort on submit-failure
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>
5 years agozink: crash hard on unknown queries
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>
5 years agozink: add more compares
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>
5 years agozink: more converts
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>
5 years agozink: more comparison-ops
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>
5 years agozink: implement ineg
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>
5 years agozink: add shift ops
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>
5 years agozink: add division ops
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>
5 years agozink: add some opcodes
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>
5 years agozink: clean up opcode-emitting a bit
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>
5 years agozink: process one aspect-mask bit at the time
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>