Tomeu Vizoso
8cba1a13fa
gitlab-ci: Test Virgl with traces
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4659 >
2020-04-24 05:37:06 +00:00
Tomeu Vizoso
5a5316ee1b
gitlab-ci: Test OpenGL ES 3.1 on virgl
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4659 >
2020-04-24 05:37:06 +00:00
Tomeu Vizoso
9b7c20b315
gitlab-ci: Allow test jobs to add options to the dEQP invocation
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4659 >
2020-04-24 05:37:06 +00:00
Tomeu Vizoso
34ed5fff5b
gitlab-ci: Update virglrenderer in the x86_test-gl image
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4659 >
2020-04-24 05:37:06 +00:00
Alyssa Rosenzweig
a3d2936a8e
panfrost: The texture descriptor has a pointer to a trampoline
...
Not to the texture itself, and can have a stride right after for linear
textures.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4680 >
2020-04-24 06:55:05 +02:00
Alyssa Rosenzweig
36d49b1fb1
panfrost: Identify texture layout field
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4680 >
2020-04-24 06:55:02 +02:00
Alyssa Rosenzweig
ad4024968e
pan/decode: Remove is_zs weirdness
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4680 >
2020-04-24 06:54:36 +02:00
Tomeu Vizoso
e41894ba15
panfrost: Emit texture descriptor on bifrost
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4680 >
2020-04-24 06:53:42 +02:00
Tomeu Vizoso
d3eb23adb5
panfrost: Emit sampler descriptor on bifrost
...
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4680 >
2020-04-24 06:53:39 +02:00
Alyssa Rosenzweig
497977bbe6
panfrost: decode textures and samplers on bifrost
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4680 >
2020-04-24 06:53:34 +02:00
Alyssa Rosenzweig
0167391a1a
panfrost: Add tentative bifrost_texture_descriptor
...
It looks very similar to the Midgard texture descriptor, just with a
bunch of fields moved around and the whole descriptor flattened (so
basically just memory access optimizations, from what I can tell).
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4680 >
2020-04-24 06:53:30 +02:00
Alyssa Rosenzweig
81a31911dd
panfrost: Set clear_color_[12] in the extra fb desc
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4680 >
2020-04-24 06:53:26 +02:00
Tomeu Vizoso
0a0b670d63
panfrost: Clean up a bit the tiler structs for Bifrost
...
And set a fixed hierarchy mask for now that seems to generally work.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4680 >
2020-04-24 06:53:21 +02:00
Eric Anholt
0d6019302e
vc4: Use NIR shader's num_outputs for generating our new output.
...
Simplifies the code (we don't have struct or matrix varyings that would
have previously made this code break), and makes sure we keep
s->num_outputs accurate.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4670 >
2020-04-23 18:52:46 +00:00
Eric Anholt
5593d80a2c
freedreno/ir3: Fix sizing of the inputs/outputs array.
...
If you have a struct, the var's base driver location is not the last
driver location that will be accessed in that var. We have a shader
struct member with this number for us, already. Fixes overflows in:
dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.struct.mat3x2
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4670 >
2020-04-23 18:52:46 +00:00
Eric Anholt
ac937bf878
freedreno/ir3: Fix driver_location of the added vertex_flags varying.
...
It was ignoring the sizes of the output variables and assuming
single-slot, and failing to update num_outputs.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4670 >
2020-04-23 18:52:46 +00:00
Eric Anholt
e82ce1852a
gallium: Fix setup of pstipple frag coord var.
...
If the last input was a struct or matrix, we would have overlapped driver
locations for our new position var.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4670 >
2020-04-23 18:52:46 +00:00
Eric Anholt
035fd4fb9f
nir/lower_clip: Fix picking of unused driver locations.
...
This fixes things when the last input/output is a struct or matrix.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4670 >
2020-04-23 18:52:46 +00:00
Eric Anholt
91668ae839
nir/lower_two_sided_color: Fix picking of new driver location.
...
We have shader->num_inputs for "last used input + 1" already, which
respects struct/matrix varyings.
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4670 >
2020-04-23 18:52:46 +00:00
Gert Wollny
49ce749d0e
nir: Add umad24 and umul24 opcodes
...
So far only the singed versions are defined.
v2: Make umad24 and umul24 non-driver specific (Eric Anholt)
v3: Take care of nir_builder and automatic lowering of the
opcodes if they are not supported by the backend.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4610 >
2020-04-23 18:23:04 +00:00
Gert Wollny
42aa348dad
nir: Add r600 specific intrinsics for tesselation shader IO
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4610 >
2020-04-23 18:23:04 +00:00
Eric Anholt
e9add0c501
drm-shim: Let the driver choose to overwrite the first render node.
...
When I was writing drm-shim, I was focused on the v3d kmsro case -- use my
intel device as the kmsro display device and add on a simulator-based v3d
device that we could render with. But for the noop backends we use for
shader-db, it's a lot more useful to just overwrite the first render node
in the system so that you don't have to pass a -d <how many render nodes I
already have in my system> argument.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4664 >
2020-04-23 17:54:54 +00:00
Eric Anholt
5a8718f01b
freedreno: Make the slice pitch be bytes, not pixels.
...
Back in a2xx, HW pitches were in pixels, so storing that was reasonable.
Ever since then, the HW wants pitches in bytes, and we have only one
instance of using pitch in pixels in the code (a3xx sysmem path).
Flip things around so that only a2xx has to worry about the cpp for
looking at pitches.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4558 >
2020-04-23 16:37:50 +00:00
Eric Anholt
bd76a24fd1
freedreno: Introduce a "cpp_shift" value for cpp divs/muls.
...
This only converts part of the driver to use it, leaving the rest to the
following commit (which inspired this one).
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4558 >
2020-04-23 16:37:50 +00:00
Samuel Pitoiset
6a6e71524d
radv: adjust the supported subgroup stages
...
VK_SHADER_STAGE_ALL now includes all ray-tracing related stages.
Noticed while comparing vulkaninfo with some other drivers.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4679 >
2020-04-23 16:16:09 +00:00
Lionel Landwerlin
efdb7fa9a8
anv: force whole EU array to be powered for perf queries
...
Because of functional requirements for Gen11, when perf is enabled we
only power half the EU array.
This change forces it to enable everything.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Reviewed-by: Mark Janes <mark.a.janes@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4021 >
2020-04-23 15:55:59 +00:00
Lionel Landwerlin
a7998371ed
intel/perf: specify sseu configuration when supported
...
Because of functional requirements for Gen11, when perf is enabled we
only power half the EU array.
This change forces it to enable everything.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Reviewed-by: Mark Janes <mark.a.janes@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4021 >
2020-04-23 15:55:59 +00:00
Lionel Landwerlin
8f152ed101
intel/perf: store default sseu configuration
...
This is the powergating configuration of the EU array. The default is
everything powered.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Reviewed-by: Mark Janes <mark.a.janes@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4021 >
2020-04-23 15:55:59 +00:00
Lionel Landwerlin
ea8cb79742
include/drm-uapi: bump headers
...
From drm-next at the following commit :
commit 1aa63ddf726ea049279989b93b69b57ce6efd75b
Merge: 774f1eeb18b0 14d0066b8477
Author: Dave Airlie <airlied@redhat.com >
Date: Wed Apr 22 10:40:34 2020 +1000
Merge tag 'drm-misc-next-2020-04-14' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Reviewed-by: Mark Janes <mark.a.janes@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4021 >
2020-04-23 15:55:59 +00:00
Samuel Pitoiset
ff3f775476
radv: simplify checking for Navi1x chips
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4702 >
2020-04-23 15:54:32 +02:00
Rhys Perry
0d9fe0405f
aco: improve code for 32-bit isign
...
No shader-db changes on Navi.
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/4667 >
2020-04-23 12:39:33 +00:00
Rhys Perry
d1621834f3
aco: combine VALU and SALU into various VOP3 instructions
...
shader-db (Navi):
Totals from 2916 (2.28% of 127638) affected shaders:
SGPRs: 184427 -> 184283 (-0.08%); split: -0.10%, +0.02%
VGPRs: 143520 -> 143640 (+0.08%); split: -0.00%, +0.09%
CodeSize: 14913548 -> 14913288 (-0.00%); split: -0.00%, +0.00%
MaxWaves: 26034 -> 26012 (-0.08%)
Instrs: 2935435 -> 2930960 (-0.15%); split: -0.15%, +0.00%
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/4667 >
2020-04-23 12:39:33 +00:00
Rhys Perry
607fb4153d
aco: move call to store_output_to_temps in store_ls_or_es_output earlier
...
Skips get_intrinsic_io_basic_offset()
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/4667 >
2020-04-23 12:39:33 +00:00
Rhys Perry
b497b774a5
aco: remove copy in load_input_from_temps()
...
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/4667 >
2020-04-23 12:39:33 +00:00
Rhys Perry
2dc550202e
aco: copy-propagate p_create_vector copies of vectors
...
Instead of copying the operands of the other p_create_vector and labelling
the definition with label_vec, copy the operands and label it with
label_temp so that it can be copy-propagated.
This was found while removing a redundant copy in load_input_from_temps()
which removed duplicate p_create_vector instructions.
shader-db (Navi):
Totals from 139 (0.11% of 127638) affected shaders:
VGPRs: 8472 -> 7948 (-6.19%)
CodeSize: 514592 -> 512368 (-0.43%)
MaxWaves: 1089 -> 1195 (+9.73%)
Instrs: 100214 -> 99658 (-0.55%)
Cycles: 400856 -> 398632 (-0.55%)
VMEM: 15545 -> 15338 (-1.33%)
Copies: 5140 -> 4584 (-10.82%)
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/4667 >
2020-04-23 12:39:33 +00:00
Rhys Perry
e4383b5c7f
aco: decrease the uses of other copy operations after splitting/removing
...
For copies like v[7:8] = v[8:9], what currently happens is:
- do_copy() will skip the second dword
- the uses of the second dword will be reduced to 0
- the copy operation will be removed from the map
and v8 will never be set to v9.
So just decrease the uses of other operations after splitting or removing
the current operation, so: "v8 = v9" will be split off, it's uses reduced
and then the new copy will be done in the next iteration.
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/4686 >
2020-04-23 11:39:23 +00:00
Erik Faye-Lund
7f17a0a809
meson: correct windows-version define
...
The macro "_WINVER" does nothing, the macro definitions that matter for
windows API version selection are "_WIN32_WINNT" and "WINVER".
The header "sdkddkver.h" (which is included from thousands of
different windows-headers) defines "WINVER" to the same value as
"_WIN32_WINNT" of only the latter is defined, which explains why this
works right now. But we shouldn't depend on that kind of luck, and
instead define the right maco.
Fixes: 3aee462781 ("meson: add windows compiler checks and libraries")
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4681 >
2020-04-23 11:19:52 +00:00
Rhys Perry
32d871b48f
nir/algebraic: don't undo lowering of 8/16-bit comparisons to 32-bit
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4387 >
2020-04-23 10:57:38 +00:00
Rhys Perry
6d79298992
nir/lower_bit_size: fix lowering of {imul,umul}_high
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4387 >
2020-04-23 10:57:38 +00:00
Rhys Perry
715ef95700
nir/lower_bit_size: fix lowering of shifts
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4387 >
2020-04-23 10:57:38 +00:00
Joshua Ashton
58f25098a0
radv: Use TRUNC_COORD on samplers
...
The default behaviour (0) is: "round-nearest-even to n.6 and drop fraction when point sampling" whereas the Vulkan spec simply wants us to floor it (1) "truncate when point sampling".
See 15.6.1 in the Vulkan spec.
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-normalized-operations
The Direct3D spec also mandates this (https://microsoft.github.io/DirectX-Specs/d3d/archive/D3D11_3_FunctionalSpec.htm#7.18.7%20Point%20Sample%20Addressing )
This fixes some point-sampling texture precision issues in some Direct3D 9 titles such as Guild Wars 2 and htoL#NiQ: The Firefly Diary that are not present on other vendors.
Fixes dEQP-VK.pipeline.sampler.exact_sampling.*
https://github.com/Joshua-Ashton/d9vk/issues/450
https://github.com/doitsujin/dxvk/issues/1433
CC: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3951 >
2020-04-23 09:57:08 +00:00
Samuel Pitoiset
7086b38c81
radv: make sure to export the viewport index if FS needs it
...
If FS reads gl_ViewportIndex but VS doesn't export it, it should
be zero to avoid reading garbage.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2818
Fixes: b424d49ac0 ("radv/llvm: fix exporting the viewport index if the fragment shader needs it")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4687 >
2020-04-23 08:10:25 +00:00
Indrajit Kumar Das
133efa112d
radeonsi: enable support for AlphaToCoverageDitherControlNV
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4543 >
2020-04-23 12:02:56 +05:30
Indrajit Kumar Das
ede36a2efe
mesa: add support for AlphaToCoverageDitherControlNV
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4543 >
2020-04-23 12:02:45 +05:30
Indrajit Kumar Das
d82f057218
gallium: prepare framework for supporting AlphaToCoverageDitherControlNV
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4543 >
2020-04-23 11:58:49 +05:30
Hyunjun Ko
227df2a2ba
turnip: Fix crashes when geometry shader constants aren't used
...
Fixes dEQP-VK.transform_feedback.fuzz.2_level_array.float.geometry, for
example.
Signed-off-by: Hyunjun Ko <zzoon@igalia.com >
Reviewed-by: Jonathan Marek <jonathan@marek.ca >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4693 >
2020-04-23 05:19:04 +00:00
Rob Clark
85f84ea148
gallium: add # of MRT to blend state
...
To make it possible for drivers to avoid unnecessary blend state change
for unused MRTs. Otherwise the driver would have to manage different
blend CSOs for different potential #s of render targets.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4619 >
2020-04-23 04:49:52 +00:00
Rob Clark
b88778e2de
mesa/st: avoid u_vbuf for GLES
...
64b VBO types are not required for GLES. So avoid u_vbuf if that was
otherwise the only reason it was used.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4619 >
2020-04-23 04:49:52 +00:00
Rob Clark
7e1b57a6d9
mesa: avoid redundant VBO updates
...
Avoids re-emitting unchanged VBO state, which is a big chunk of the
state updates in gfxbench driver2
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4619 >
2020-04-23 04:49:52 +00:00
Kenneth Graunke
155bb74ea9
nir: Actually do load/store vectorization beyond vec2
...
nir_opt_load_store_vectorize has an is_strided_vector() function that
looks for types with weird explicit strides. It does so by comparing
the explicit stride against the type-size-derived typical stride.
This had a subtle bug. Simple vector types (vec2/3/4) have no explicit
stride, so glsl_get_explicit_stride() returns 0. This never matches the
typical stride for a vector, so is_strided_vector() would return true
for basically any vector type, causing the vectorizer to bail.
I found this by looking at a compute shader with scalar SSBO loads at
offsets 0x220, 0x224, 0x228, 0x22c. nir_opt_load_store_vectorize would
properly vectorize the first two into a vec2 load, but would refuse to
extend it to a vec3 and ultimately vec4 load because is_strided_vector()
saw a vec2 and freaked out.
Neither ACO nor ANV do load/store vectorization before lowering derefs,
so this shouldn't affect them. However, I'd like to fix this bug to
avoid the trap for anyone who decides to in the future. In a branch
where anv used this lowering, this cut an additional 38% of the send
messages in the shader by properly vectorizing more things.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4255 >
2020-04-22 21:22:36 -07:00