platform/upstream/mesa.git
2 years agoac/gpu_info: use hw_ip::ip_discovery_version to set IP versions
Marek Olšák [Thu, 7 Jul 2022 22:54:04 +0000 (18:54 -0400)]
ac/gpu_info: use hw_ip::ip_discovery_version to set IP versions

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>

2 years agoac/gpu_info: rework and extend device info to be more informative
Marek Olšák [Sun, 3 Jul 2022 19:27:59 +0000 (15:27 -0400)]
ac/gpu_info: rework and extend device info to be more informative

This is the result with AMD_DEBUG=info:

Device info:
    name = NAVI23
    marketing_name = AMD Radeon RX 6600
    num_se = 2
    num_rb = 8
    num_cu = 28
    max_gpu_freq = 2750 MHz
    max_gflops = 9856 GFLOPS
    l0_cache_size = 16 KB
    l1_cache_size = 128 KB
    l2_cache_size = 2048 KB
    l3_cache_size = 32 MB
    memory_channels = 8 (TCC blocks)
    memory_size = 8 GB (8192 MB)
    memory_freq = 14 GHz
    memory_bus_width = 128 bits
    memory_bandwidth = 224 GB/s
    clock_crystal_freq = 100000 KHz
    IP GFX     10.3  queues:1
    IP COMP    10.3  queues:4
    IP SDMA     5.2  queues:2
    IP VCN_DEC  3.0  queues:1
    IP VCN_ENC  3.0  queues:1
    IP VCN_JPG  3.0  queues:1

It might not be 100% correct with other chips.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>

2 years agoac/gpu_info: remove tabs
Marek Olšák [Sun, 3 Jul 2022 19:10:15 +0000 (15:10 -0400)]
ac/gpu_info: remove tabs

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>

2 years agoac/gpu_info: rename info fields to num_cu, memory_bus_width, memory_freq_mhz
Marek Olšák [Sun, 3 Jul 2022 19:09:16 +0000 (15:09 -0400)]
ac/gpu_info: rename info fields to num_cu, memory_bus_width, memory_freq_mhz

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>

2 years agollvmpipe: keep context list and use to track resource usage.
Dave Airlie [Mon, 25 Jul 2022 03:28:08 +0000 (13:28 +1000)]
llvmpipe: keep context list and use to track resource usage.

Just check across all contexts if a resource is referenced.

Fixes: 6bbbe15a783a ("Reinstate: llvmpipe: allow vertex processing and fragment processing in parallel")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17702>

2 years agollvmpipe: make last_fence a screen/rast object not a context one.
Dave Airlie [Fri, 22 Jul 2022 01:12:58 +0000 (11:12 +1000)]
llvmpipe: make last_fence a screen/rast object not a context one.

When a flush happens the per-context setup is used to hold the fence
for the last scene sent to the rasterizer. However when multiple
contexts are in use, this fence won't get returned to be blocked on.

Instead move the last fence to the rasterizer object, and return
that instead as it should be valid across contexts.

Fixes gtk4 bugs on llvmpipe since overlapping vertex/fragment.

Fixes: 6bbbe15a783a ("Reinstate: llvmpipe: allow vertex processing and fragment processing in parallel")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17702>

2 years agointel/dev: Enable remaining DG2 and ATS-M device IDs
Jordan Justen [Sat, 30 Apr 2022 09:30:57 +0000 (02:30 -0700)]
intel/dev: Enable remaining DG2 and ATS-M device IDs

Mostly Matt Roper's kernel patch commit message:

The device IDs here are associated with DG2 add-in cards. We need to
wait for some additional functionality (e.g., small BAR recovery) to
land before we're ready to upstream these.

Ref: https://patchwork.freedesktop.org/patch/483381/?series=103098&rev=1
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12706>

2 years agov3dv: only check binning sync for semaphores for the first CL job
Iago Toral Quiroga [Mon, 18 Jul 2022 09:12:11 +0000 (11:12 +0200)]
v3dv: only check binning sync for semaphores for the first CL job

Semaphore waits in a command buffer only affect the first jobs we execute
in each hardware queue since jobs in the same queue are serialized against
each other. Binning syncs in particular, only affect CL jobs.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17594>

2 years agov3d,v3dv: add a common v3d_hw_prim_type helper
Iago Toral Quiroga [Mon, 18 Jul 2022 08:21:46 +0000 (10:21 +0200)]
v3d,v3dv: add a common v3d_hw_prim_type helper

We had this replicated in both drivers.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17594>

2 years agov3dv: remove unnecesary FIXME comment
Iago Toral Quiroga [Mon, 18 Jul 2022 08:12:11 +0000 (10:12 +0200)]
v3dv: remove unnecesary FIXME comment

We only want to cleant BCL barrier flags if we consume a BCL barrier.
For example, if the client records a barrier for an index buffer
it should apply to the next draw call that uses an index buffer
which may not be the current draw call but one coming after it.

Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17594>

2 years agozink: enable unordered blit/resolve ops
Mike Blumenkrantz [Fri, 15 Jul 2022 02:27:22 +0000 (22:27 -0400)]
zink: enable unordered blit/resolve ops

can't do swapchain or u_blitter ops, but these should be fine

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: make get_cmdbuf() public
Mike Blumenkrantz [Fri, 15 Jul 2022 02:22:48 +0000 (22:22 -0400)]
zink: make get_cmdbuf() public

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: expand unordered_exec
Mike Blumenkrantz [Fri, 15 Jul 2022 01:52:44 +0000 (21:52 -0400)]
zink: expand unordered_exec

track read+write

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: move buffer/image functions down in file
Mike Blumenkrantz [Fri, 15 Jul 2022 01:51:01 +0000 (21:51 -0400)]
zink: move buffer/image functions down in file

no functional changes

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: promote image/buffer copy operations to unordered
Mike Blumenkrantz [Thu, 14 Jul 2022 15:46:43 +0000 (11:46 -0400)]
zink: promote image/buffer copy operations to unordered

if the src and dst for these operations can both be promoted, then the
entire operation can be promoted to potentially avoid splitting renderpasses

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: add a second resource param to get_cmdbuf() for unordered promotion
Mike Blumenkrantz [Thu, 14 Jul 2022 15:37:56 +0000 (11:37 -0400)]
zink: add a second resource param to get_cmdbuf() for unordered promotion

no functional changes

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: rework unordered_exec handling
Mike Blumenkrantz [Thu, 14 Jul 2022 15:23:18 +0000 (11:23 -0400)]
zink: rework unordered_exec handling

previously this would opportunistically promote barriers to the unordered
cmdbuf only if a renderpass was active or there was no access, which
was the wrong approach

instead, opportunistically promote barriers to the unordered cmdbuf
any time it's possible to do so, which is when one of these conditions is true:
* when there is no access to the resource on the current cmdbuf
* when the only access to the resource is in the unordered cmdbuf

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: explicitly unset unordered_exec when resource can't be unordered
Mike Blumenkrantz [Thu, 14 Jul 2022 16:26:55 +0000 (12:26 -0400)]
zink: explicitly unset unordered_exec when resource can't be unordered

ensure that subsequent commands can't be promoted

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: zink_resource::unordered_barrier -> unordered_exec
Mike Blumenkrantz [Thu, 14 Jul 2022 15:20:46 +0000 (11:20 -0400)]
zink: zink_resource::unordered_barrier -> unordered_exec

this is a bit more clear

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: add ZINK_DEBUG=noreorder
Mike Blumenkrantz [Fri, 15 Jul 2022 15:09:04 +0000 (11:09 -0400)]
zink: add ZINK_DEBUG=noreorder

this will be useful for debugging

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: add doc for ZINK_DEBUG=compact
Mike Blumenkrantz [Fri, 15 Jul 2022 15:08:25 +0000 (11:08 -0400)]
zink: add doc for ZINK_DEBUG=compact

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: convert ZINK_DEBUG to enum
Mike Blumenkrantz [Fri, 15 Jul 2022 15:05:50 +0000 (11:05 -0400)]
zink: convert ZINK_DEBUG to enum

more readable/debuggable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agozink: stop ORing unordered barrier access
Mike Blumenkrantz [Thu, 14 Jul 2022 15:20:26 +0000 (11:20 -0400)]
zink: stop ORing unordered barrier access

this doesn't make any sense and is confusing

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17667>

2 years agointel/dev: Determine the amount of free vram using small BAR uapi
Jordan Justen [Sat, 11 Jun 2022 01:20:30 +0000 (18:20 -0700)]
intel/dev: Determine the amount of free vram using small BAR uapi

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16739>

2 years agointel/dev: Use i915 region probed_cpu_visible_size when non-zero
Jordan Justen [Mon, 16 May 2022 09:33:11 +0000 (02:33 -0700)]
intel/dev: Use i915 region probed_cpu_visible_size when non-zero

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16739>

2 years agoiris/bufmgr: Add I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS for vram mappable buffers
Jordan Justen [Mon, 16 May 2022 17:43:15 +0000 (10:43 -0700)]
iris/bufmgr: Add I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS for vram mappable buffers

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16739>

2 years agoanv: make use of the new smallbar uAPI
Lionel Landwerlin [Mon, 2 May 2022 09:38:16 +0000 (12:38 +0300)]
anv: make use of the new smallbar uAPI

Instead of having 2 VkMemoryType pointing to the same VkMemoryHeap, we
have each VkMemoryType with VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT (one
host visible, the other not) point to its own VkMemoryHeap. For the
local heap that is host visible, we'll use the
I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS flag at GEM BO creation.

When the smallbar uAPI is not available we fallback to a single heap
and do not use I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS.

v2: Handle probed_cpu_visible_size == probed_size (Matthew)

v3:
 * Jordan: Use region info from devinfo

v4: Also make the vram host visible heap as local (Ken)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16739>

2 years agodrm-uapi/i915_drm.h: Update from drm-next (2022-07-22)
Jordan Justen [Fri, 22 Jul 2022 17:30:14 +0000 (10:30 -0700)]
drm-uapi/i915_drm.h: Update from drm-next (2022-07-22)

git://anongit.freedesktop.org/drm/drm 417c1c1963549e9a48b83ada59d90258e38c6594

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16739>

2 years agolavapipe: fix shader access stage conversion from mesa -> pipe
Mike Blumenkrantz [Tue, 26 Jul 2022 18:42:22 +0000 (14:42 -0400)]
lavapipe: fix shader access stage conversion from mesa -> pipe

ok ok but this time it's fixed and works I promise

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17758>

2 years agor600/sb: fall back to unoptimized shader if RA fails
Gert Wollny [Tue, 26 Jul 2022 10:18:07 +0000 (12:18 +0200)]
r600/sb: fall back to unoptimized shader if RA fails

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17755>

2 years agoradv: expose disjoint image support
Benjamin Cheng [Sat, 14 May 2022 01:24:12 +0000 (21:24 -0400)]
radv: expose disjoint image support

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16510>

2 years agoradv: implement disjoint memory for multiplane images
Benjamin Cheng [Fri, 6 May 2022 19:54:18 +0000 (15:54 -0400)]
radv: implement disjoint memory for multiplane images

For descriptor binding, we need to allow up to three buffers to be
referenced by any image.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16510>

2 years agoradv: consolidate descriptor set buffer counts
Benjamin Cheng [Mon, 6 Jun 2022 17:31:25 +0000 (13:31 -0400)]
radv: consolidate descriptor set buffer counts

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16510>

2 years agoradv: refactor image binding into struct
Benjamin Cheng [Sun, 8 May 2022 18:24:41 +0000 (14:24 -0400)]
radv: refactor image binding into struct

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16510>

2 years agoutil/blitter: respect PIPE_TEXTURE_RECT
Mike Blumenkrantz [Fri, 22 Jul 2022 13:33:21 +0000 (09:33 -0400)]
util/blitter: respect PIPE_TEXTURE_RECT

if this isn't supported, don't use rect-related sampling

cc: mesa-stable

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17714>

2 years agoci/virgl: Make the VM-based virgl tests report to #virgl-ci, too.
Emma Anholt [Mon, 25 Jul 2022 02:06:31 +0000 (19:06 -0700)]
ci/virgl: Make the VM-based virgl tests report to #virgl-ci, too.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17730>

2 years agogallivm: Optimize single-invocation SSBO stores.
Emma Anholt [Sun, 24 Jul 2022 15:11:49 +0000 (08:11 -0700)]
gallivm: Optimize single-invocation SSBO stores.

The CTS does a lot of 1x1x1 compute shaders (all that stuff like
dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.highp_compute.scalar)
which finish with store_ssbos.  Instead of doing the invocation loop in
that case (which LLVM has to later unroll), just emit the single
invocation's store.

Fixes timeouts running
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36, which does
a spectacular number of SSBO stores in a long 1x1x1 compute shader.
Reduces runtime of on llvmpipe from 66s to 29s locally, and virgl from
1:38 to 43s.  virgl
dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays.22
goes down to 7 seconds.

Fixes: #6797
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17730>

2 years agogallivm: Refactor a bit of UBO/SSBO range checking.
Emma Anholt [Sun, 24 Jul 2022 15:29:25 +0000 (08:29 -0700)]
gallivm: Refactor a bit of UBO/SSBO range checking.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17730>

2 years agomesa: Mark render-to-texture as unsafe if there's no pipe_resource
Kenneth Graunke [Tue, 12 Jul 2022 23:44:41 +0000 (16:44 -0700)]
mesa: Mark render-to-texture as unsafe if there's no pipe_resource

Let's be slightly more defensive here.  If a texture image doesn't have
an associated pipe_resource allocated, then render_texture() will pass
that along to _mesa_update_renderbuffer_surface(), which will crash on a
NULL pointer dereference.  So, if there isn't a pipe_resource, then we
should just skip this altogteher.

Today, this isn't an issue, because each gl_texture_image always
allocates a pipe_resource up front.  On a branch of mine, I prototyped
some improvements to the compressed texture fallback handling, where it
would defer resource allocation, examine the source image's block data,
and dynamically select a format based on that, then allocate it later.

With that prototype in place, we saw crashes the Android "My Talking
Tom" series of games, which appear to be attaching ASTC textures to a
framebuffer color attachment.  That FBO would be incomplete anyway, as
ASTC textures aren't renderable, but we got into a situation where the
render-to-texture code was crashing due to the lack of pt before it
could properly signal that it was incomplete and bailing.

Technically, we don't need this now, but I figure that being defensive
won't hurt and this would probably save whoever encounters such an issue
in the future a bunch of frustrating debugging.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17508>

2 years agotu: Do not dereference descriptorSetLayout in push descriptors tmpl
Danylo Piliaiev [Tue, 26 Jul 2022 12:49:41 +0000 (15:49 +0300)]
tu: Do not dereference descriptorSetLayout in push descriptors tmpl

Fixes crash when capturing with RenderDoc.

From VK spec:

 descriptorSetLayout [...] This parameter is ignored if templateType
 is not VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17751>

2 years agovulkan: Include self-dep info in rendering continues
Jason Ekstrand [Mon, 25 Jul 2022 22:05:12 +0000 (17:05 -0500)]
vulkan: Include self-dep info in rendering continues

Fixes: 3a204d5cf370 ("vulkan/render_pass: Add a better helper for render pass inheritance")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17748>

2 years agovulkan: Append subpass structures to VkRenderingInfo last
Jason Ekstrand [Tue, 26 Jul 2022 00:52:22 +0000 (19:52 -0500)]
vulkan: Append subpass structures to VkRenderingInfo last

If we don't append subpass->self_dep_info last, other __vk_append_struct()
calls will update its pNext chain which lives in the subpass which
should be treated as immutable.  This is easily fixable by just making
it the last thing we append to the chain.

Fixes: 7e11cdc77a6a ("vulkan/render_pass: Pass sample locations to barriers")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17748>

2 years agointel/fs: Use canonical form for "work around" tags
Ian Romanick [Tue, 21 Jun 2022 17:37:53 +0000 (10:37 -0700)]
intel/fs: Use canonical form for "work around" tags

Trivial.  Also clean up some weird whitespace.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17605>

2 years agointel/fs: Eliminate "masked" and "per slot offset" URB messages
Ian Romanick [Tue, 12 Jul 2022 22:52:31 +0000 (15:52 -0700)]
intel/fs: Eliminate "masked" and "per slot offset" URB messages

All of this information can be inferred from the sources.

v2: Fix "error: unused variable 'opcode'" detected by marge-bot.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17605>

2 years agointel/fs: Don't pass flags to lower_urb_read_logical_send or lower_urb_write_logical_send
Ian Romanick [Tue, 12 Jul 2022 22:34:23 +0000 (15:34 -0700)]
intel/fs: Don't pass flags to lower_urb_read_logical_send or lower_urb_write_logical_send

...because the flags can be inferred from the sources.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17605>

2 years agointel/fs: Make logical URB read instructions more like other logical instructions
Ian Romanick [Thu, 14 Jul 2022 18:57:03 +0000 (11:57 -0700)]
intel/fs: Make logical URB read instructions more like other logical instructions

No shader-db changes on any Intel platform

Fossil-db results:

Tiger Lake
Instructions in all programs: 156926440 -> 156926470 (+0.0%)
Instructions hurt: 15

Cycles in all programs: 7513099349 -> 7513099402 (+0.0%)
Cycles hurt: 15

Ice Lake and Skylake had similar results. (Ice Lake shown)
Cycles in all programs: 9099036492 -> 9099036489 (-0.0%)
Cycles helped: 1

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17605>

2 years agointel/fs: Make logical URB write instructions more like other logical instructions
Ian Romanick [Tue, 12 Jul 2022 22:32:01 +0000 (15:32 -0700)]
intel/fs: Make logical URB write instructions more like other logical instructions

The changes to fs_visitor::validate() helped track down a place where I
initially forgot to convert a message to the new sources layout.  This
had caused a different validation failure in
dEQP-GLES31.functional.tessellation.tesscoord.triangles_equal_spacing,
but this were not detected until after SENDs were lowered.

Tiger Lake, Ice Lake, and Skylake had similar results. (Ice Lake shown)
total instructions in shared programs: 19951145 -> 19951133 (<.01%)
instructions in affected programs: 2429 -> 2417 (-0.49%)
helped: 8 / HURT: 0

total cycles in shared programs: 858904152 -> 858862331 (<.01%)
cycles in affected programs: 5702652 -> 5660831 (-0.73%)
helped: 2138 / HURT: 1255

Broadwell
total cycles in shared programs: 904869459 -> 904835501 (<.01%)
cycles in affected programs: 7686744 -> 7652786 (-0.44%)
helped: 2861 / HURT: 2050

Tiger Lake, Ice Lake, and Skylake had similar results. (Ice Lake shown)
Instructions in all programs: 141442369 -> 141442032 (-0.0%)
Instructions helped: 337

Cycles in all programs: 9099270231 -> 9099036492 (-0.0%)
Cycles helped: 40661
Cycles hurt: 28606

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17605>

2 years agoaco: Add a note about G16 without A16 to README-ISA.md.
Georg Lehmann [Tue, 26 Jul 2022 11:56:29 +0000 (13:56 +0200)]
aco: Add a note about G16 without A16 to README-ISA.md.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16979>

2 years agoradv: Fold 16bit tex sources.
Georg Lehmann [Wed, 6 Jul 2022 15:13:30 +0000 (17:13 +0200)]
radv: Fold 16bit tex sources.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16979>

2 years agoaco: Support 16bit sources for texture ops.
Georg Lehmann [Mon, 6 Jun 2022 15:04:14 +0000 (17:04 +0200)]
aco: Support 16bit sources for texture ops.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16979>

2 years agoaco: Add G16 opcodes.
Georg Lehmann [Sat, 4 Jun 2022 17:50:00 +0000 (19:50 +0200)]
aco: Add G16 opcodes.

Signed-off-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16979>

2 years agotu: Fix resolving d32s8 into s8 on fast path
Connor Abbott [Thu, 21 Jul 2022 15:25:41 +0000 (17:25 +0200)]
tu: Fix resolving d32s8 into s8 on fast path

The code assumed that if the source was d32s8 then the destination would
also be d32s8, in particular that depth_base_addr/stencil_base_addr
would also be filled out. Move the destination and source handling into
two different ifs with different conditions.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17684>

2 years agotu: Support resolving D24S8 -> S8
Connor Abbott [Wed, 20 Jul 2022 15:33:09 +0000 (17:33 +0200)]
tu: Support resolving D24S8 -> S8

This was missed when we added support for VK_KHR_depth_stencil_resolve.
There is a similar feature where the stencil aspect of a D24S8 can be
copied "tightly" in CopyImageToBuffer, but it used the texture swizzle
and so required the 3d path. To get it to work with the 2D path, which
is required for resolves, we have to instead use the A8_UNORM format,
which works for texture sampling even for tiled images. We also have to
reuse the pre-existing image views because subpass resolves work on
image views rather than images, whereas before the fixup was applied
while creating the image view. This means threading through the
corresponding "opposite" format through setup, src, and dst functions,
doing the fixup there (through some shared helpers), and then getting
every user to specify the right format. As a bonus, we no longer need to
force the 3d path for the CopyImageToBuffer and CopyBufferToImage
special cases.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17684>

2 years agollvmpipe: remove unused function
Erik Faye-Lund [Mon, 25 Jul 2022 14:09:08 +0000 (16:09 +0200)]
llvmpipe: remove unused function

Fixes: a1846e39269 ("llvmpipe: merge all rasterizer-bind functions")
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17735>

2 years agoir3: fix tess param allocation
Chia-I Wu [Fri, 15 Jul 2022 21:21:38 +0000 (14:21 -0700)]
ir3: fix tess param allocation

primitive_param takes up 2 vec4's.  Remove an align that I don't
understand.

The align upset

  Test case 'dEQP-VK.subgroups.ballot_broadcast.graphics.subgroupbroadcast_vec4'..
  deqp-vk: ../src/freedreno/ir3/ir3_nir.c:1039:
  void ir3_setup_const_state(nir_shader *, struct ir3_shader_variant *, struct ir3_const_state *):
  Assertion `constoff <= ir3_max_const(v)' failed.

with an older version (android11-tests-dev branch) of deqp-vk.  This is
because ir3_nir_opt_preamble uses the function for the worst case but
the function fails to replace the align by the worst case.

No regression with dEQP-VK.*tess*.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570>

2 years agoir3: increment constoff right after it is assigned
Chia-I Wu [Fri, 15 Jul 2022 21:18:58 +0000 (14:18 -0700)]
ir3: increment constoff right after it is assigned

Minor improvement to readability.  No real change.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570>

2 years agoir3: remove unused patch_vertices_in
Chia-I Wu [Fri, 15 Jul 2022 21:17:47 +0000 (14:17 -0700)]
ir3: remove unused patch_vertices_in

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570>

2 years agoir3: fix output_loc size
Chia-I Wu [Sat, 23 Jul 2022 01:17:44 +0000 (18:17 -0700)]
ir3: fix output_loc size

It was off-by-one.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570>

2 years agoir3: copy req_local_mem for MESA_SHADER_KERNEL
Chia-I Wu [Fri, 22 Jul 2022 23:51:35 +0000 (16:51 -0700)]
ir3: copy req_local_mem for MESA_SHADER_KERNEL

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570>

2 years agoir3: update ir3_const_state comment
Chia-I Wu [Fri, 22 Jul 2022 20:49:59 +0000 (13:49 -0700)]
ir3: update ir3_const_state comment

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17570>

2 years agolavapipe: Use the vk_graphics_pipeline_state
Jason Ekstrand [Wed, 20 Jul 2022 02:33:41 +0000 (21:33 -0500)]
lavapipe: Use the vk_graphics_pipeline_state

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17669>

2 years agolavapipe: Use shader_info::uses_sample_shading
Jason Ekstrand [Wed, 20 Jul 2022 16:44:21 +0000 (11:44 -0500)]
lavapipe: Use shader_info::uses_sample_shading

This is more accurate because it's computed directly in spirv_to_nir and
takes even unused SampleID and SamplePos builtings into account.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17669>

2 years agolavapipe: advertise VK_EXT_multisampled_render_to_single_sampled
Mike Blumenkrantz [Fri, 22 Jul 2022 05:05:21 +0000 (01:05 -0400)]
lavapipe: advertise VK_EXT_multisampled_render_to_single_sampled

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705>

2 years agolavapipe: VK_EXT_multisampled_render_to_single_sampled
Mike Blumenkrantz [Fri, 22 Jul 2022 05:04:41 +0000 (01:04 -0400)]
lavapipe: VK_EXT_multisampled_render_to_single_sampled

this works by doing a replicate at renderpass start and an in-place
resolve on renderpass end

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705>

2 years agovulkan: hook up VK_EXT_multisampled_render_to_single_sampled
Mike Blumenkrantz [Fri, 22 Jul 2022 05:03:34 +0000 (01:03 -0400)]
vulkan: hook up VK_EXT_multisampled_render_to_single_sampled

this adds support for the extension to common renderpass

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705>

2 years agollvmpipe: add a shortcut for blitter resolves
Mike Blumenkrantz [Fri, 22 Jul 2022 04:34:46 +0000 (00:34 -0400)]
llvmpipe: add a shortcut for blitter resolves

if this is only going to do a sample0 resolve, the functionality is
equivalent to just copying the first sample, and in llvmpipe terms,
this just means doing a direct copy at offset=0

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705>

2 years agolavapipe: fix stencil clears
Mike Blumenkrantz [Fri, 22 Jul 2022 04:34:23 +0000 (00:34 -0400)]
lavapipe: fix stencil clears

this uses the value from the stencil attachment

Fixes: 8068c68b1ff ("lavapipe: Delete render passes")

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705>

2 years agollvmpipe: allow resource_copy_region to perform replicate operations
Mike Blumenkrantz [Tue, 22 Feb 2022 17:28:45 +0000 (12:28 -0500)]
llvmpipe: allow resource_copy_region to perform replicate operations

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705>

2 years agollvmpipe: remove weird clamping for format support with sample counts
Mike Blumenkrantz [Tue, 22 Feb 2022 17:28:10 +0000 (12:28 -0500)]
llvmpipe: remove weird clamping for format support with sample counts

this breaks u_blitter

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17705>

2 years agolavapipe: set image access on pipeline bind, not descriptor bind
Mike Blumenkrantz [Mon, 25 Jul 2022 15:32:02 +0000 (11:32 -0400)]
lavapipe: set image access on pipeline bind, not descriptor bind

this is where the access originates, so set it here

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739>

2 years agolavapipe: use 64bit masks for shader access
Mike Blumenkrantz [Mon, 25 Jul 2022 19:30:48 +0000 (15:30 -0400)]
lavapipe: use 64bit masks for shader access

ensure that all descriptors are tracked for this

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739>

2 years agolavapipe: use correct offset calculation for flagging ssbo/image write access
Mike Blumenkrantz [Mon, 25 Jul 2022 13:42:44 +0000 (09:42 -0400)]
lavapipe: use correct offset calculation for flagging ssbo/image write access

var->data.binding has no relation to the actual index of the resource,
which must be separately calculated based on the layout

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739>

2 years agolavapipe: make binding/layout helper functions static inline
Mike Blumenkrantz [Mon, 25 Jul 2022 13:42:16 +0000 (09:42 -0400)]
lavapipe: make binding/layout helper functions static inline

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17739>

2 years agomesa: Remove Purgeable fields from texture/buffer/renderbuffer objects
Adam Jackson [Mon, 25 Jul 2022 18:20:03 +0000 (14:20 -0400)]
mesa: Remove Purgeable fields from texture/buffer/renderbuffer objects

These are unused since !17425.

Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17745>

2 years agogallium/hud: do not use texture-rect for font
Erik Faye-Lund [Fri, 22 Jul 2022 07:14:09 +0000 (09:14 +0200)]
gallium/hud: do not use texture-rect for font

RECT textures used to be required to be supported by drivers. But since
the state-tracker learned how to lower these to 2D textures, some
drivers no longer support them.

While we have lowering in place for this, lowering it involves some
needless overhead. So let's just use a 2D texture instead of a RECT
texture.

Because having two versions and switching between them is more
complicated than it needs to be, let's just always use a 2D texture.
Similarly, let's just always multiply the reciprocal here, so we don't
have to test for PIPE_CAP_TGSI_DIV first.

Cc: mesa-stable
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17707>

2 years agolavapipe: move vertex input dynamic states into vertex input block
Mike Blumenkrantz [Mon, 25 Jul 2022 16:41:36 +0000 (12:41 -0400)]
lavapipe: move vertex input dynamic states into vertex input block

these states were erroneously assigned to the pre-rasterization stage
for pipeline libraries when they instead belong to the vertex input stage

cc: mesa-stable

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17738>

2 years agozink: add a ci flake
Mike Blumenkrantz [Mon, 25 Jul 2022 16:16:33 +0000 (12:16 -0400)]
zink: add a ci flake

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17722>

2 years agolavapipe: remove some skips
Mike Blumenkrantz [Fri, 22 Jul 2022 20:38:55 +0000 (16:38 -0400)]
lavapipe: remove some skips

these should all be fast enough now

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17722>

2 years agolavapipe: implement extreme uniform inlining
Mike Blumenkrantz [Mon, 27 Jun 2022 18:02:46 +0000 (14:02 -0400)]
lavapipe: implement extreme uniform inlining

this adds a mangled variation on nir_inline_uniforms that enables inlining
from any uniform buffer in order to try inlining every possible load

if the shader is too small or the ssa_alloc delta from inlining is too small,
then inlining is disabled for that shader to avoid pointlessly churning
the same shaders for no gain

with certain types of shaders, the speedup is astronomical

before:
dEQP-VK.graphicsfuzz.cov-int-initialize-from-multiple-large-arrays (4750.76s)

after:
dEQP-VK.graphicsfuzz.cov-int-initialize-from-multiple-large-arrays (0.505s)

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17722>

2 years agoci/freedreno: 3 pixel change in Raven restricted trace
David Heidelberg [Mon, 25 Jul 2022 08:21:36 +0000 (10:21 +0200)]
ci/freedreno: 3 pixel change in Raven restricted trace

Acked-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17732>

2 years agowsi/x11: Synchronously check for error from xcb_present_pixmap
Adam Jackson [Thu, 21 Jul 2022 16:32:59 +0000 (12:32 -0400)]
wsi/x11: Synchronously check for error from xcb_present_pixmap

Yes this is a round trip, but X_PresentPixmap is not itself a blocking
operation, it just instructs the server to do the next presentation at
some time. More importantly, if _we_ don't catch the presentation error,
xlib's error queue will, and the calling code is certainly not prepared
to handle errors from Present.

Forcing the round trip here is also a bit more correct semantically.
This is the end of the Vulkan client part of the present queue, and the
X_PresentPixmap request transfers the queue operation to the server, so
we should not return until we are sure the handoff has happened.

Fixes some flakiness with piglit@glx-visuals-* with zink+radv.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17685>

2 years agozink: fix EXT_color_write_enable check
Erik Faye-Lund [Fri, 22 Jul 2022 10:55:37 +0000 (12:55 +0200)]
zink: fix EXT_color_write_enable check

Checking for the extension isn't enough, we also need to check for the
feature-bit.

Fixes: 49a20e0981c ("zink: start a unified driver workarounds struct")
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709>

2 years agozink: warn about missing image2DViewOf3D feature
Erik Faye-Lund [Fri, 22 Jul 2022 10:20:22 +0000 (12:20 +0200)]
zink: warn about missing image2DViewOf3D feature

While we're at it, let's store zink_screen in a temp varaible for reuse.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709>

2 years agodocs/zink: document required VK_EXT_border_color_swizzle
Erik Faye-Lund [Fri, 22 Jul 2022 10:42:35 +0000 (12:42 +0200)]
docs/zink: document required VK_EXT_border_color_swizzle

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709>

2 years agodocs/zink: document required VK_KHR_swapchain_mutable_format
Erik Faye-Lund [Fri, 22 Jul 2022 10:39:14 +0000 (12:39 +0200)]
docs/zink: document required VK_KHR_swapchain_mutable_format

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709>

2 years agodocs/zink: correct name of extension
Erik Faye-Lund [Fri, 22 Jul 2022 10:19:27 +0000 (12:19 +0200)]
docs/zink: correct name of extension

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17709>

2 years agoradeonsi/vcn/enc: enable cabac entropy mode
Boyuan Zhang [Sat, 23 Apr 2022 02:31:07 +0000 (22:31 -0400)]
radeonsi/vcn/enc: enable cabac entropy mode

Set cabac entropy mode if enabled.

v2: add extra check on radeon driver side, disable cabac if profile is
baseline or extended.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Acked-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16113>

2 years agofrontends/va: get entropy mode info for h264 encode
Boyuan Zhang [Sat, 16 Jul 2022 03:41:40 +0000 (23:41 -0400)]
frontends/va: get entropy mode info for h264 encode

Get entropy mode and cabac init idc from VAAPI interface.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Acked-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16113>

2 years agovl: add cabac init idc for h264 encode
Boyuan Zhang [Fri, 22 Apr 2022 23:00:45 +0000 (19:00 -0400)]
vl: add cabac init idc for h264 encode

Add interface to store cabac init idc value.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Acked-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16113>

2 years agopvr: Add support for input attachment descriptor.
Rajnesh Kanwal [Mon, 4 Jul 2022 12:47:53 +0000 (13:47 +0100)]
pvr: Add support for input attachment descriptor.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>

2 years agopvr: Add support for storage and uniform texel descriptor.
Rajnesh Kanwal [Mon, 4 Jul 2022 11:37:44 +0000 (12:37 +0100)]
pvr: Add support for storage and uniform texel descriptor.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>

2 years agopvr: Add support for image descriptor.
Rajnesh Kanwal [Fri, 1 Jul 2022 22:26:41 +0000 (23:26 +0100)]
pvr: Add support for image descriptor.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>

2 years agopvr: Add support for combined image and sampler descriptor.
Rajnesh Kanwal [Fri, 1 Jul 2022 14:19:31 +0000 (15:19 +0100)]
pvr: Add support for combined image and sampler descriptor.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>

2 years agopvr: Add support for sampler descriptor.
Rajnesh Kanwal [Thu, 30 Jun 2022 18:29:00 +0000 (19:29 +0100)]
pvr: Add support for sampler descriptor.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>

2 years agopvr: Move binding related checks in common code.
Rajnesh Kanwal [Tue, 19 Jul 2022 14:21:28 +0000 (15:21 +0100)]
pvr: Move binding related checks in common code.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>

2 years agopvr: Implement vkCreateBufferView and vkDestroyBufferView.
Rajnesh Kanwal [Mon, 4 Jul 2022 11:34:27 +0000 (12:34 +0100)]
pvr: Implement vkCreateBufferView and vkDestroyBufferView.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>

2 years agopvr: Use common vk_buffer implementation.
Rajnesh Kanwal [Mon, 4 Jul 2022 17:00:18 +0000 (18:00 +0100)]
pvr: Use common vk_buffer implementation.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>

2 years agopvr: Init and store default sampler in pvr_device.
Rajnesh Kanwal [Mon, 4 Jul 2022 13:04:57 +0000 (14:04 +0100)]
pvr: Init and store default sampler in pvr_device.

Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com>
Reviewed-by: Karmjit Mahil <Karmjit.Mahil@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17719>

2 years agollvmpipe: clean up bresenham implementation
Erik Faye-Lund [Thu, 8 Jul 2021 13:52:03 +0000 (15:52 +0200)]
llvmpipe: clean up bresenham implementation

This moves some common code into shared locations, limits the scope of
some variables, switches some booleans for bools, and cleans up some
whitespace.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17653>

2 years agollvmpipe: consolidate legacy_points and multisample state
Erik Faye-Lund [Fri, 9 Jul 2021 15:02:45 +0000 (17:02 +0200)]
llvmpipe: consolidate legacy_points and multisample state

This just makes the code a bit easier to follow.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17653>