Kenneth Graunke
a9bd0668d5
intel: Use similar brand strings to the Windows drivers
...
This updates our product name strings to match the ones reported
by the Windows driver, which is typically the marketing name.
We retain a platform abbreviation and GT level in parenthesis so that
we're able to distinguish similar parts more easily, helping us better
understand at a glance which GPU a bug reporter has.
Acked-by: Matt Turner <mattst88@gmail.com >
Acked-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3371 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3371 >
2020-01-13 19:42:35 -08:00
Kenneth Graunke
f63d6260d1
iris: Simplify iris_get_renderer_string()
...
We use gen_get_device_name() instead of PCI ID list munging.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3371 >
2020-01-13 19:42:30 -08:00
Kenneth Graunke
44bad9c31a
i965: Simplify brw_get_renderer_string()
...
This stops using driGetRendererString() in favor of a simple snprintf().
This should have the same functionality on 64-bit systems, but drops
a "x86/MMX/SSE2" suffix on 32-bit systems. (People shouldn't be using
the GL_RENDERER string to check for CPU features...)
We also use gen_get_device_name() instead of PCI ID list munging.
Reviewed-by: Matt Turner <mattst88@gmail.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3371 >
2020-01-13 19:42:22 -08:00
Kenneth Graunke
50c47ba49e
Revert "nir: assert that nir_lower_tex runs after lowering derefs"
...
This reverts commit 4cda61f11e for now,
as it appears to break i965 CI (32,000+ failures). Rob and I suspect
we need to do the equivalent of 1c6a2efa06
on i965 - we are doing nir_lower_tex and brw_nir_lower_resources in the
wrong order and that's likely triggering this condition. Once we fix
that, we should put this patch back.
2020-01-13 17:37:40 -08:00
Erik Faye-Lund
09b37ba65f
zink: fixup initialization of operand_mask / num_extra_operands
...
This doesn't change behavior, but makes the code a bit easier to read.
Both values are zero, but I somehow swapped the logical meaning of them
when initializing.
2020-01-14 01:06:59 +00:00
Eric Anholt
3be4b89c03
mesa: Fix detection of invalidating both depth and stencil.
...
Fixes an extra 1024x1024x4 MSAA Z/S store on WebGL fishtank on cheza.
Reported-by: Dave Airlie <airlied@redhat.com >
Fixes: db2ae51121 ("mesa: Skip partial InvalidateFramebuffer of packed depth/stencil.")
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3370 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3370 >
2020-01-13 23:37:54 +00:00
Rob Clark
1c6a2efa06
mesa/st: lower samplers before nir_lower_tex
...
Fixes incorrect lowering of YUV samplers when there are non-yuv
samplers.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3368 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3368 >
2020-01-13 23:19:49 +00:00
Rob Clark
4cda61f11e
nir: assert that nir_lower_tex runs after lowering derefs
...
It isn't going to do the right thing, because texture_index/
sampler_index defaults to zero.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3368 >
2020-01-13 23:19:49 +00:00
Gurchetan Singh
d72f178753
i965: support EXT_EGL_image_storage
...
i965 can support this.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
2020-01-13 14:57:36 -08:00
Gurchetan Singh
b1c266d5fa
i965: refactor intel_image_target_texture_2d
...
intel_image_target_texture_tex_storage can reuse much of this
code.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
2020-01-13 14:57:32 -08:00
Gurchetan Singh
34fe560cd6
i965: track if image is created by a dmabuf
...
Will be used by EXT_EGL_image_storage later.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
2020-01-13 14:57:27 -08:00
Gurchetan Singh
bf576772ab
dri_util: add driImageFormatToSizedInternalGLFormat function
...
This is needed to implement the EXT_EGL_image_storage spec:
"If <target> is GL_TEXTURE_2D, then the resultant texture must have a
sized internal format which is colorspace and size compatible with the
dma-buf. If the GL is unable to determine such a format, the error
INVALID_OPERATION is generated."
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
2020-01-13 14:57:22 -08:00
Gurchetan Singh
b68ff2b873
glapi / teximage: implement EGLImageTargetTexStorageEXT
...
Check various parts of the EXT_EGL_image_storage spec, and add a
new vfunc for drivers implementing it.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
2020-01-13 14:57:18 -08:00
Gurchetan Singh
1fe23d0e22
teximage: split out helper from EGLImageTargetTexture2DOES
...
The major differences between EXT_EGL_image_storage and
EGLImageTargetTexture2DOES are:
(1) The texture target is made immutable
(2) EXT_EGL_image_storage supports non-2D targets.
We can reuse EGLImageTargetTexture2D and FreeTextureImageBuffer
for (1) pretty easily. For (2), let's just not support the
complicated targets. Let's reuse aspects of the
EGLImageTargetTexture2DOES implementation.
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
2020-01-13 14:57:07 -08:00
Jason Ekstrand
7978f2401b
anv: Memset array properties
...
This is probably better than possibly leaving those bytes uninitialized
even if the app will theoretically not use them.
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3369 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3369 >
2020-01-13 22:33:55 +00:00
Jason Ekstrand
d36eed3e69
anv: Don't over-advertise descriptor indexing features
...
We should only advertise sub-features if we advertise the extension.
Fixes: 6e230d7607 "anv: Implement VK_EXT_descriptor_indexing"
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3369 >
2020-01-13 22:33:55 +00:00
Jason Ekstrand
d7ff137445
intel/blorp: Fill out all the dwords of MI_ATOMIC
...
This makes us valgrind clean again.
Fixes: 9175c7058e "intel/blorp: Make blorp update the clear color..."
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3366 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3366 >
2020-01-13 21:48:00 +00:00
Tomeu Vizoso
40dd418e14
gitlab-ci: Upgrade kernel for LAVA jobs to v5.5-rc5
...
Some fixes got in that should prevent hangs in lima jobs.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3363 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3363 >
2020-01-13 21:26:11 +00:00
Daniel Schürmann
05c81875d7
aco: fix unconditional demote_to_helper
...
This patch fixes an out-of-bounds access on p_exit_early
and binds the exec register to the correct operand.
Fixes: 2ea9e59e8d ('aco: move s_andn2_b64 instructions out of the p_discard_if')
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3347 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3347 >
2020-01-13 21:08:41 +00:00
Marek Olšák
2bb88b2fdc
radeonsi: don't enable VBOs in user SGPRs if compute-based culling can be used
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2020-01-13 15:57:07 -05:00
Marek Olšák
363b4027fc
radeonsi: put up to 5 VBO descriptors into user SGPRs
...
gfx6-8: 1 VBO descriptor in user SGPRs
gfx9-10: 5 VBO descriptors in user SGPRs
We no longer pull up to 5 VBO descriptors from GTT when SDMA is disabled.
Totals from affected shaders:
SGPRS: 1110528 -> 1170528 (5.40 %)
VGPRS: 952896 -> 951936 (-0.10 %)
Spilled SGPRs: 83 -> 61 (-26.51 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 23766296 -> 22843920 (-3.88 %) bytes
LDS: 0 -> 0 (0.00 %) blocks
Max Waves: 179344 -> 179344 (0.00 %)
Wait states: 0 -> 0 (0.00 %)
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2020-01-13 15:57:07 -05:00
Marek Olšák
220d00314f
ac,radeonsi: increase the maximum number of shader args and return values
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2020-01-13 15:57:07 -05:00
Marek Olšák
ef253c6789
radeonsi: simplify si_set_vertex_buffers
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2020-01-13 15:57:07 -05:00
Marek Olšák
312e04689a
radeonsi: don't allow draw calls with uninitialized VS inputs
...
These always hang, because vertex buffer descriptors are not set up.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2020-01-13 15:57:07 -05:00
Marek Olšák
c278c73f13
radeonsi: add si_context::num_vertex_elements
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2020-01-13 15:57:07 -05:00
Marek Olšák
1e03b63b3b
radeonsi: rename desc_list_byte_size -> vb_desc_list_alloc_size
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
2020-01-13 15:57:07 -05:00
Lionel Landwerlin
2cc14bd7b8
anv: set stencil layout for input attachments
...
If an input attachment has a stencil format, we need to set this.
v2: Fish out VkAttachmentReferenceStencilLayoutKHR from
VkAttachmentReference2KHR::pNext (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reported-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Fixes: c1c346f166 ("anv: implement VK_KHR_separate_depth_stencil_layouts")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2891 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2891 >
2020-01-13 21:57:33 +02:00
Jason Ekstrand
21bc16a723
anv: Drop an unused variable
2020-01-13 12:20:48 -06:00
Jason Ekstrand
d3737002ee
nir/lower_atomics_to_ssbo: Also lower barriers
...
This is more correct for a pass which is supposed to completely lower
away atomic counters. It also lets us stop supporting atomic counter
barriers in most of the drivers.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:47 +00:00
Jason Ekstrand
e40b11bbcb
nir: Rename nir_intrinsic_barrier to control_barrier
...
This is a more explicit name now that we don't want it to be doing any
memory barrier stuff for us.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:47 +00:00
Jason Ekstrand
bd3ab75aef
intel/nir: Stop adding redundant barriers
...
Now that both GLSL and SPIR-V are adding shared and tcs_patch barriers
(as appropreate) prior to the nir_intrinsic_barrier, we don't need to do
it ourselves in the back-end. This reverts commit
26e950a5de01564e3b5f2148ae994454ae5205fe.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:47 +00:00
Jason Ekstrand
ba43b66dc9
nir/glsl: Emit memory barriers as part of barrier()
...
The GLSL barrier() intrinsic does an implicit shared memory barrier in
compute shaders and an implicit TCS patch output barrier in tessellation
control shaders. We'd like NIR's barrier intrinsic to just be a control
flow barrier and not have memory implications. To satisfy this, we need
to add an extra memory barrier in front of each nir_intrinsic_barrier.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:47 +00:00
Jason Ekstrand
a4125b4d26
spirv: Add output memory semantics to OpControlBarrier in TCS
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:47 +00:00
Jason Ekstrand
2365520c9d
spirv: Add a workaround for OpControlBarrier on old GLSLang
...
As per the Vulkan memory model, the proper translation of GLSL barrier()
is an OpControlBarrier with a scope of Workgroup and semantics of
Acquire, Release, and WorkgroupMemory. Older versions of GLSLang gave
an OpControlBarrier with semantics of None so we need to patch it up on
those versions.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:47 +00:00
Jason Ekstrand
60097cc840
nir: Add a new memory_barrier_tcs_patch intrinsic
...
Right now, it's implemented as a no-op for everyone. For most drivers,
it's a switch case in the NIR -> whatever which just breaks. For ir3,
they already have code to delete tessellation barriers so we just add a
case to also delete memory_barrier_tcs_patch.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:47 +00:00
Jason Ekstrand
f2eece773c
llmvpipe: No-op implement more barriers
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:46 +00:00
Jason Ekstrand
3498ab98f5
nir: Handle barriers with more granularity in combine_stores
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:46 +00:00
Jason Ekstrand
f09db0bed5
nir: Handle more barriers in dead_write and copy_prop
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:46 +00:00
Jason Ekstrand
ada49bae5e
intel/vec4: Support scoped_memory_barrier
...
Fixes: 06aecb14c0 "anv: Implement VK_KHR_vulkan_memory_model"
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3307 >
2020-01-13 17:23:46 +00:00
Andreas Baierl
40aef2bf3e
lima: Add stencil support
...
This re-enables and fixes support for stencil buffer.
It fixes 365 stencil related deqp tests. All tests that use INCR, INCR_WRAR,
DECR and DECR_WRAP as a stencil op still fail, but they also fail with the
blob, so we may ignore that for now.
We still have dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked
failing, which is strange because it's the only one out of the
depth_stencil_clear.* set.
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de >
2020-01-13 16:11:37 +00:00
Andreas Baierl
2ce71494f1
lima/parser: Make rsw alpha blend parsing more readable
...
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Signed-off-by: Andreas Baierl <ichgeh@imkreisrum.de >
2020-01-13 16:11:37 +00:00
Boris Brezillon
440b0d6eec
panfrost: Remove unneeded phi nodes
...
Add a pass to remove unneeded phi nodes as done in other drivers.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3294 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3294 >
2020-01-13 14:09:47 +00:00
Rhys Perry
809c8feb92
aco: check if multiplication/clamp is live when applying output modifier
...
It's possible that a multiplication/clamp is dead code and the single use
is from a different user.
Fixes portal rendering in Path of Exile when global illumination is
enabled.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com >
Fixes: 93c8ebfa78 ('aco: Initial commit of independent AMD compiler')
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3081 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3081 >
2020-01-13 13:26:43 +00:00
Rhys Perry
ef8abfa790
aco: disable add combining for ds_swizzle_b32
...
ds_bpermute_b32/ds_permute_b32 are fine, I think
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 93c8ebfa78 ('aco: Initial commit of independent AMD compiler')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3081 >
2020-01-13 13:26:43 +00:00
Rhys Perry
69bed1c918
aco: don't DCE atomics with return values
...
We don't create atomics with definitions if they are not used in NIR, but
our own DCE can remove the uses if an export turns out to be null.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 93c8ebfa78 ('aco: Initial commit of independent AMD compiler')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3081 >
2020-01-13 13:26:43 +00:00
Rhys Perry
8f291dc146
aco: set exec_potentially_empty for demotes
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Fixes: 93c8ebfa78 ('aco: Initial commit of independent AMD compiler')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3081 >
2020-01-13 13:26:43 +00:00
Rhys Perry
21eafe30df
aco: better handle neg/abs of sgprs
...
isel/label_instruction currently doesn't create these but we should
probably check anyway.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3081 >
2020-01-13 13:26:43 +00:00
Rhys Perry
f29a5a205c
aco: check usesModifiers() when identifying a neg/abs
...
This was fine because a literal used to mean that it didn't use modifiers,
but now VOP3 can take a literal on GFX10.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3081 >
2020-01-13 13:26:43 +00:00
Rhys Perry
46fb341b8d
aco: handle omod successors with the constant in the first operand
...
No pipeline-db changes
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3081 >
2020-01-13 13:26:43 +00:00
Rhys Perry
7ce244b7d1
aco: handle VOP3 modifiers when combining a constant comparison's NaN test
...
No pipeline-db changes
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-By: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3081 >
2020-01-13 13:26:43 +00:00