Lionel Landwerlin
1aa4a91dbf
anv: allocate RT scratch in local memory
...
Like a 100x (not joking) improvement.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17674 >
2022-07-21 22:19:41 +00:00
Jason Ekstrand
8e99a7f5e3
vulkan: Call gather_xfb_info in vk_spirv_to_nir
...
In particular, we now call it before running dead variables so we get
the XFB info even for things which are never written. This fixes a 102
Vulkan CTS tests on ANV and probably turnip as well.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17644 >
2022-07-21 21:18:48 +00:00
Jason Ekstrand
87ab287436
vulkan: Call lower_clip_cull_distance_arrays in vk_spirv_to_nir
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17644 >
2022-07-21 21:18:48 +00:00
Jordan Justen
d9ce788641
anv/allocator: Add assert and TODO comment for future small BAR uapi
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Acked-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/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
7bd3a6b757
intel/dev: Add intel_vram_all_mappable()
...
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/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
a3316d38d1
intel/tools: Print unmappable region info in intel_dev_info
...
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/17349 >
2022-07-21 20:27:10 +00:00
Jordan Justen
d2829ffe4e
intel/dev: Add vram.unmappable.size region info
...
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/17349 >
2022-07-21 20:27:10 +00:00
Lionel Landwerlin
09ba5c2b43
intel/dev: deal with i915 unallocated_size on smem
...
We cannot rely on unallocated_size on system memory for
VK_EXT_memory_budget.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 4aecfbf0f4 ("intel/dev: Add devinfo::mem to store i915 regions information")
Reviewed-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/17349 >
2022-07-21 20:27:10 +00:00
Jason Ekstrand
9ecc26ff27
anv: Do depth/stencil optimization for dynamic depth/stencil
...
When we made depth/stencil dynamic, we lost the optimization. This is
particularly important for cases where the stencil test is enabled but
never writes anything as certain combinations with discard can cause
the stencil write (which doesn't do anything) to get moved late which
can be a measurable perf hit. According to 028e1137e6 ("anv/pipeline:
Be smarter about depth/stencil state", it was a couple percent for DOTA2
on Broadwell back in the day. No idea how it affects current titles.
This may also improve the depth/stncil PMA workarounds on Gen8 and Gen9
since they're now looking at optimized depth/stencil state.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
07f5f15963
vulkan/graphics_state: Improve the depth/stencil optimization code
...
We now disable stencil writes when the stencil test is disabled or when
both stencil write masks are zero.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
7d25c04236
anv: Switch to using common dynamic state tracking
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
cc89232f2e
anv: Stop merging DEPTH_STENCIL state
...
Now that we've stopped trying to do dynamic stuff up-front, we're only
merging in one bit: DoubleSidedStencilEnable. There's no point in all
the merging code for one bit which is a constant anyway.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
97dd1a100d
anv: Rework setting primitive topology
...
For one thing, we were deceptively setting it wrong in genX_cmd_buffer.c
and then overwriting it in each of of gfx7_cmd_buffer.c and
gfx8_cmd_buffer.c. Pull it all into genX_cmd_buffer.c so it's no longer
duplicated. Also, stop doing the PATCHLIST conversion in anv_pipeline.c
and just store the number of patch vertices.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
b656957c56
anv: Convert to using vk_graphics_pipeline_state
...
This attempts to be a pretty minimal refactor. We just switch all the
state emit code to use the new graphics pipeline state object.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Lionel Landwerlin
44cbb7d9c8
anv: remove pipeline setting dynamic state
...
Following our rule that anything that can be dynamic should be set
(and is this case is already) in the following files :
- genX_cmd_buffer.c
- gfx8_cmd_buffer.c
- gfx7_cmd_buffer.c
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
18868f1c76
anv: Stop recording sample locations per-sample-count
...
The only reason why we recorded them per-sample-count is because Intel
hardware is weird starting with Broadwell. The API, requires that the
dynamic sample pattern be reset every time the sample count changes so
we only need to record the pattern for the current sample count.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
36417bd05b
anv: Handle vertex buffer sizes in anv_CmdBindVertexBuffers2
...
There's no good reason to defer figuring out the size until we emit the
packet. We know everything when the bind happens.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
1faba01c2b
anv: Add an instance multiplier to anv_pipeline
...
This lets us get rid of the view_mask and pipeline replication logic
repeated all over everywhere.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17564 >
2022-07-19 23:16:45 +00:00
Jason Ekstrand
b510ee0d22
Use vk_foreach_struct_const where needed
...
We're about to make it so that the compiler warns/errors if you use the
wrong iterator macro. Fix up a bunch of places where someone used the
wrong one before we break anything.
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17630 >
2022-07-19 19:55:17 +00:00
Lionel Landwerlin
2bfcd29155
anv: move restart index to gfx state
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
a9abf1dd93
anv: fix primitive topology dynamic state emission on gfx7
...
This dynamic state uses the pipeline information so it needs to be
reemitted whenever the pipeline changes.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
25de752234
anv: name non dynamic state fields correctly
...
Those fields have confusing names. They hold non dynamic state,
specified at pipeline creation that we copy into the dynamic state of
the command buffer whenever we bind a pipeline. This non dynamic state
might get picked up in the dynamically emitted instructions of the 3D
pipeline because our HW packets are not exactly splitted like the
Vulkan API.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
5b6e6a672c
anv: reorder & document fields of anv_graphics_pipeline
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
aea9abd71b
anv: move CreateRayTracingPipelines to common code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
ffc798c364
anv: move CreateComputePipelines to common code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
2c816b4f2e
anv: move CreateGraphicsPipelines to common code
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
1ba89d35ab
anv: rename internal function for consistency
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Jason Ekstrand
cb682a1cdd
anv: Don't use the wrong ARRAY_SIZE
...
Even though this doesn't change anything, it's not good to use an
ARRAY_SIZE for one array to iterate over another.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
f66192a4b3
anv: split graphics nir loading
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
36aa0f668f
anv: break up anv_pipeline_compile_graphics()
...
This function is pretty overwhelming.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
c806d1e5ed
anv: simplify dynamic buffer count in pipeline layout
...
anv_descriptor_set_layout already has the information we're gather
here.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Lionel Landwerlin
5b561b501a
anv: remove local computation of dynamic states
...
This bit mask is already computed in
anv_graphics_pipeline::dynamic_states in anv_graphics_pipeline_init().
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17601 >
2022-07-19 02:36:09 +00:00
Emma Anholt
94bd06256a
intel/fs: Simplify brw_barycentric_mode() args.
...
Reduce a bit of mode lookup noise I was tracing through trying to resolve
the previous bug.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17381 >
2022-07-19 01:25:47 +00:00
Lionel Landwerlin
2d1f021e16
intel/fs: Set NonPerspectiveBarycentricEnable when the interpolator needs it.
...
[anholt: changed to make all drivers do the right thing by moving the
payload barycentric check into the compiler]
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17381 >
2022-07-19 01:25:47 +00:00
Jason Ekstrand
cb6375d40c
anv: Stop compacting surface state tables
...
Instead of trying to compact the surface state table to get rid of any
unused render targets, emit MAX(1, colorAttachmentCount) surface states
always. This ensures that secondaries will always match with primaries
when we go to do the copy since there's no rule requiring the secondary
to have VK_FORMAT_UNDEFINED when the primary has a NULL image view.
Fixes: 3501a3f9ed ("anv: Convert to 100% dynamic rendering")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17543 >
2022-07-14 20:36:24 +00:00
Lionel Landwerlin
2cac3b3817
anv: ensure tile flush before streamout writes
...
Streamout is not L3 coherent so previous writes to the same address
might be pending and overwrite the SO writes later when they get
flushed from L3, even though the SO write happened later in the batch.
v2: Use the right flag (not COUNTER)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6680
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17503 >
2022-07-14 18:28:52 +00:00
Jordan Justen
4246a1ff47
intel/compiler: Don't create vec4 reg-set for gen8+
...
After 60e1d0f028 , we know that vec4 will never be used for gen >= 8.
Ref: 60e1d0f028 ("intel/compiler: Remove INTEL_SCALAR_... env variables")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17437 >
2022-07-14 17:49:01 +00:00
Jason Ekstrand
3346f6918f
intel/fs,anv: Rework handling of coarse and sample shading
...
Now that this information is accurately gathered by spirv_to_nir, we no
longer need the hack. We just need to fix up the way we handle some of
the key bits.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
d0b154319d
intel/fs: Simplify persample_dispatch
...
Thanks to the previous commit, we no longer need this check.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
fd17aaf430
intel/fs: Use nir_lower_single_sampled
...
This lets us drop demote_sample_qualifiers as well as a back-end check
for key->multisample_fbo.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
ca9f0f72db
intel/fs: Use shader_info::fs::uses_sample_shading
...
NIR constructs this information for us as part of nir_gather_info these
days so we can simplify our logic a bit. This will also let us be more
correct once we move uses_sample_shading scraping earlier.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Jason Ekstrand
9d438799c8
intel/blorp: Set uses_sample_shading for MSAA blit shaders
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14020 >
2022-07-13 20:28:42 +00:00
Adam Jackson
768238fdc0
glx: Fix drawable refcounting for naked Windows
...
driFetchDrawable is only ever called from the MakeCurrent path, which
means it has to handle the case of pre-GLX-1.3 Windows being named as
the drawable. When it finds the drawable in the hash, it increments its
refcount before returning it, so for a GLXWindow it would be 2 on first
return, one from glXCreateWindow and one from glXMakeCurrent. But when
it does not find the drawable and creates one for the naked Window, the
reference count on first return would only be 1. As a result, if this
context was then ever bound to a different drawable, the old Window's
DRI drawable state (like the back buffer) would be destroyed.
Fixes piglit's glx-multi-window-single-context and glx-make-current for
a variety of drivers.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6713
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17479 >
2022-07-13 12:25:30 -04:00
Marcin Ślusarz
585d81e3ec
intel/compiler: print shaders after nir_remove_unused_varyings
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17516 >
2022-07-13 15:50:02 +00:00
Chuansheng Liu
39f8c61f32
iris,anv: correct the max thread number for DG2+
...
Correct the max thread number for DG2+ platforms according
to below bspec.
Ref: Bspec: 47202
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Signed-off-by: Chuansheng Liu <chuansheng.liu@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17506 >
2022-07-13 08:11:19 +00:00
Lionel Landwerlin
3a8ad28524
anv: skip flush/invalidate faster
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17481 >
2022-07-13 01:33:27 +00:00
Lionel Landwerlin
1aeb11cde1
intel: protect against empty invalidate ranges
...
It's legal for an application to call vkInvalidateMappedMemoryRanges()
/ vkFlushMappedMemoryRanges() with zero sized ranges.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: b91971c240 ("anv: use the right helper to invalidate memory")
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6852
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17481 >
2022-07-13 01:33:27 +00:00
Lionel Landwerlin
af1ecbeb0a
anv: add a comment about handling buffer view swizzles on gfx7
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17385 >
2022-07-13 00:45:36 +00:00
Lionel Landwerlin
a9edc268b9
anv: validate image view lowered storage formats for storage
...
Ensure that if we have swizzle on the initial format, that the
component bits are identical with the lowered format.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17385 >
2022-07-13 00:45:36 +00:00
Lionel Landwerlin
57a8efa222
anv: deal with isl format swizzles for buffer views
...
For some formats like VK_FORMAT_B5G6R5_UNORM_PACK16, we have no direct
matching HW format. We can support it by swizzling.
We already apply those swizzles for image views. We just forgot to
deal with buffer views.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6235
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17385 >
2022-07-13 00:45:36 +00:00