Timur Kristóf
e2df56f502
radv: Set output driver locations for mesh shaders.
...
Ignore primitive count and indices which work differently.
Then, assign driver locations to per-vertex and per-primitive
outputs independently because we allocate separate LDS
areas for them.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580 >
2021-12-31 13:05:09 +00:00
Timur Kristóf
11501fa686
radv: Compile mesh shaders and apply the necessary NIR lowerings.
...
Mesh shaders use NGG, but the API allows many compute shader
features such as workgroups and shared memory.
Use the appropriate NIR lowerings for these, then
call ac_nir_lower_ngg_ms.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580 >
2021-12-31 13:05:09 +00:00
Timur Kristóf
ae82d9d8f4
radv: Setup shader arguments for mesh shaders.
...
Use the same code path as other NGG shaders, but with
a few special cases.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580 >
2021-12-31 13:05:09 +00:00
Timur Kristóf
e3a80d9d29
radv: Add support for per-primitive mesh shader outputs.
...
Generic per-primitive outputs:
They work similarly to other NGG outputs.
In the ISA they are param export instructions that are executed
on the primitive threads. These per-primitive params must be
sorted last among both mesh shader outputs and pixel shader inputs.
PS can read these inputs using the same old VINTRP instructions.
They use the same amount of LDS space as per-vertex PS inputs.
Special per-primitive outputs:
The VRS rate x, y, viewport and layer are special per-primitive
outputs which must go to the second channel of the primitive
export instruction, which is enabled by EN_PRIM_PAYLOAD.
If the PS wants to read these, they must also be exported as
a generic param.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580 >
2021-12-31 13:05:09 +00:00
Timur Kristóf
c7027156ea
radv: Cleanup VS output param assignment.
...
Makes the code a little cleaner, and makes it easier to add
per-primitive PS inputs.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580 >
2021-12-31 13:05:09 +00:00
Timur Kristóf
256dcc209f
radv: Cleanup PS input generation.
...
This cleans up radv_pipeline_generate_ps_inputs.
Makes the code a little cleaner, and makes it easier to add
per-primitive PS inputs.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580 >
2021-12-31 13:05:09 +00:00
Timur Kristóf
459b4961bd
radv: Add mesh shader specific info.
...
Use the same old outinfo structure as other NGG shaders.
Additionally, store the output primitive type.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580 >
2021-12-31 13:05:09 +00:00
Timur Kristóf
32bc466dcb
radv: Add radv_pipeline_has_mesh helper.
...
This will be used to determine whether a pipeline uses
mesh shading or not.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580 >
2021-12-31 13:05:09 +00:00
Timur Kristóf
7aa42e023a
ac/nir/ngg: Lower NV mesh shaders to NGG semantics.
...
Lower mesh shader outputs to shared memory.
At the end of the shader, read the outputs from shared memory
and export their values as NGG expects.
We allocate separate shared memory (LDS) areas for per-vertex,
per-primitive outputs, primitive indices, primitive count.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580 >
2021-12-31 13:05:09 +00:00
Timur Kristóf
1a1f5ad11d
gitlab-ci: Disable radv-fossils again.
...
It gets a HTTP 504 error code when trying to access a git repo.
Disable it again until this issue is resolved.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14364 >
2021-12-31 13:38:32 +01:00
Markus_included
273edf76c2
Fixed you're to your
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14164 >
2021-12-30 21:51:19 +00:00
Henry Goffin
fe617bcca0
intel/compiler/test: Fix build with GCC 7
...
Without this change, test_fs_scoreboard.cpp does not compile on GCC 7
due to the use of C99 initializers in a C++ source file.
Fixes: c847bfaaf5 ("intel/fs/gen12: Add tests for scoreboard pass")
Reviewed-by: Matt Turner <mattst88@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14349 >
2021-12-30 19:59:52 +00:00
Jesse Natalie
8371591dc6
microsoft/compiler: Fix LOD instruction to return 2 values
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14161 >
2021-12-30 09:50:17 -08:00
Jesse Natalie
8926cfc9f7
d3d12: Enable texture gather
...
The CI changes are because WARP fails really hard at gather,
with crashes when doing it on a 1x1 or Nx1 texture, and incorrectly
applying swizzling to the result vector instead of the actual texture
accesses.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14161 >
2021-12-30 09:50:17 -08:00
Jesse Natalie
bd7fc35d6a
d3d12: Handle cubemap gather on int cubemaps
...
There were 2 options: This, or double-bind the cubemap so we can reference
it as both a cube and as a 2D array, and only run gathers on the cubemap.
As ugly as this is, I think I like it better.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14161 >
2021-12-30 09:49:33 -08:00
Jesse Natalie
9ba4569184
microsoft/compiler: Position should always be no-perspective
...
Debug WARP asserts on this, and sure enough, the spec says it
should be no-perspective.
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14161 >
2021-12-30 08:14:20 -08:00
Jesse Natalie
fe963f336c
d3d12: Enable cubemap arrays
...
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14161 >
2021-12-30 08:14:11 -08:00
Jesse Natalie
5b32915055
d3d12: Replace pipe cap literals with D3D12 defines when available
...
Also remove references to feature levels < 11.0, D3D12 doesn't support those
Reviewed-by: Sil Vilerino <sivileri@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14161 >
2021-12-30 08:13:30 -08:00
Qiang Yu
71e2df73d9
radeonsi: enable ARB_sparse_texture
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
5a844f87a1
radeonsi: support texture resource commit
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
5f3c904ac8
radeonsi: implement get_sparse_texture_virtual_page_size
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
c11059c2b5
radeonsi: use staging buffer for sparse texture when transfer map
...
Can't map sparse texture directly.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
c2bb232dae
radeonsi: support alloc a sparse texture
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
1876285c27
ac/surface: add prt_tile_depth
...
For supporting 3D sparse texture.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
92d810fa74
ac/surface: fix prt_first_mip_tail calculation for gfx9+
...
Use firstMipIdInTail directly from addrlib which calculated this
in a different way:
Original way: either dimension size of mipmap should be less than
the tile size.
Addrlib way: all dimesion size of the mipmap should be less than
the tile size and at lest one dimension size should be less than
half of the tile size, so that all following mip levels can fit
in one tile and any commit for level in the mip tail also commit
for all levels in mip tail.
Theoretically either way is OK but addrlib way needs less care
about the mip tail commit and better align with the true memory
layout given by itself.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
40928e452d
winsys/radeon: change surface_init flags to 64bit
...
RADEON_SURF_PRT is (1ull << 32).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
30daded7e9
mesa/st: update NumSparseLevels from pipe_resource
...
Add nr_sparse_levels in pipe_resource for updating the
gl_texture_object->NumSparseLevels.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
90415c1a3a
mesa: implement glTexPageCommitmentARB/glTexturePageCommitmentEXT
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
82f2ab0bfc
mesa/st: add st_TexturePageCommitment interface
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
34e5c14f70
mesa: glTexStorage* support sparse texture allocation
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
482fe76300
mesa/st: add st_GetSparseTextureVirtualPageSize interface
...
For ARB_sparse_texture implementation.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
c7c5f9e168
mesa: add ARB_sparse_texture texture param set/get
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
b1c32a6c8c
mesa: add ARB_sparse_texture query in glGetInternalformativ
...
Add new parameter of glGetInternalformativ for ARB_sparse_texture.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
1a616c4b29
gallium: add get_sparse_texture_virtual_page_size for noop/rbug/trace
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
eed8421bba
gallium: add screen get_sparse_texture_virtual_page_size callback
...
For ARB_sparse_texture extension to query driver supported page
size for each texture format.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
f3ea79f65e
mesa: add ARB_sparse_texture constants
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
e1cecd8964
mesa: add ARB_sparse_texture extension
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
7f48aba641
gallium: add caps for sparse texture support
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Qiang Yu
bcaf9704ad
glapi: should not add alias function to static_data.py
...
Alias function should not be assigned an offset, otherwise new added
function will get error:
Exception: entries are not ordered by slots
Fixes: 757bc6d37a ("mesa: Add support for EXT_clear_texture")
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14223 >
2021-12-30 16:11:19 +08:00
Vinson Lee
94351c94db
r600/sfn: Remove unused AluInstruction members.
...
Fix defects reported by Coverity Scan.
uninit_member: Non-static class member m_omod is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member m_pred_sel is not initialized in this constructor nor in any functions that it calls.
Suggested-by: Emma Anholt <emma@anholt.net >
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12294 >
2021-12-29 23:31:33 -08:00
Dave Airlie
9130e4564b
crocus: set max clip planes to 6 for gen4.
...
Fixes piglit gl-1.0-user-clip-all-planes
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14344 >
2021-12-30 16:07:56 +10:00
Dave Airlie
af3cbc5379
gallium/mesa: enhance PIPE_CAP_CLIP_PLANES to support override number
...
There exists hardware intel gen4 specifically that has only 6 clip planes
but supports GLSL 1.30. This enhances the CAP so that the current values
of 0,1 remain the same, but giving it a larger number will override the
max.
This allows the gen4 intel to set this to 6 and leave everyone else alone.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14344 >
2021-12-30 16:07:42 +10:00
Dave Airlie
f1c1fcfdce
crocus: don't create staging resources > half aperture
...
The theory here is that a staging resource will need to be transferred
into or out of a non-staging resource. If the staging resource is too
big for 1/2 aperture threshold, then it the corresponding non-stage
resource will be similiarly sized. This means there's no hope of fitting
both of them in.
This will cause the st blit transfer path to fall back and allow
max-texture-size to pass.
Fixes piglit max-texture-size
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14347 >
2021-12-30 14:00:45 +10:00
Dave Airlie
d8a38edc48
crocus: fail resource allocation properly.
...
Older gens have a limit of 2GB on surfaces, this results in
isl_surf_init_s failing if the surface exceeds that, in this
case this should fail all the way back up the stack.
This fixes some cases of max-texture-size on crocus
Fixes: f3630548f1 ("crocus: initial gallium driver for Intel gfx 4-7")
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14347 >
2021-12-30 14:00:41 +10:00
Dave Airlie
a2293e33fd
intel/genxml/gen4-5: fix more Raster Operation in BLT to be a uint
...
This has been partly fixed twice before, but looks like some got missed.
Fixes arb_copy_image on gen4 with crocus
Fixes: de625dddee ("intel/genxml: fix raster operation field in blt genxml")
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14345 >
2021-12-30 11:40:33 +10:00
Emma Anholt
c2217acaa5
ci/i915g: Add a couple more recent regressions.
...
The new frontfacing one is just different UB for the same lack of
frontfacing support. And for RGB10_A2, we have another fail in that area
already as well.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14300 >
2021-12-29 16:59:56 -08:00
Emma Anholt
177bf24569
ci: Enable reporting to the flakes IRC channel for i915g and crocus.
...
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14300 >
2021-12-29 16:59:53 -08:00
Emma Anholt
d1a59c4077
ci/crocus: Add manual CI for the new HSW box I have at home.
...
Also extend the set of traces being tested and add more notes about them,
as well as add some g41 flakes since I did more runs.
Acked-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14300 >
2021-12-29 16:59:42 -08:00
Eric Engestrom
e573f54473
docs: update calendar and link releases notes for 21.3.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14341 >
2021-12-29 21:51:22 +00:00
Eric Engestrom
e4135c265d
docs: add release notes for 21.3.3
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14341 >
2021-12-29 21:51:05 +00:00