Marek Olšák
05f35a50e3
gallium: remove and emulate PIPE_CAP_MULTI_DRAW
...
To remove PIPE_CAP checking in the common code.
It's better if drivers lower multi draws even if the hardware doesn't
support it beause the multi draw loop can be moved deeper into the driver
to remove more overhead.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7679 >
2021-01-04 19:22:33 -05:00
Dave Airlie
46734a02fc
gallium: add an api to retrieve pipe offsets
...
This is needed to implement the vulkan transform feedback pause
resume functionality
Acked-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7981 >
2020-12-21 01:12:41 +00:00
Marek Olšák
9b1f091bd9
gallium: add PIPE_CAP_PREFER_REAL_BUFFER_IN_CONSTBUF0
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6946 >
2020-12-01 11:52:10 +00:00
Marek Olšák
80b391077f
gallium: add missing bits of the direct multi draw interface
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7441 >
2020-11-18 01:41:24 +00:00
James Jones
68d70fb969
gallium: Add format modifier plane count query
...
Rather than hard-code a list of all the format
modifiers supported by any gallium driver and the
number of aux planes they require in the dri state
tracker, add a screen proc that queries the number
of planes required for a given modifier+format
pair.
Since the only format modifiers that require
auxiliary planes currently are the iris driver's
I915_FORMAT_MOD_Y_TILED_CCS,
I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS, and
I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS, the absence
of the screen proc implies zero aux planes for all
of the screen's supported modifiers. Hence, when
a driver does not expose the proc, derive the
number of planes directly from the format.
Signed-off-by: James Jones <jajones@nvidia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3723 >
2020-11-11 10:51:37 +00:00
James Jones
6ee10ab3de
gallium: Add pipe_screen::is_dmabuf_modifier_supported
...
Add a "do you support this modifier?" query to all
drivers which support format modifiers. This will
be used in a subsequent change to fully
encapsulate modifier validation and auxiliary plane
count calculation logic behind the driver
abstraction, which will in turn simplify the
addition of device-class-specific format modifiers
in the nouveau driver.
Signed-off-by: James Jones <jajones@nvidia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3723 >
2020-11-11 10:51:37 +00:00
Pierre-Eric Pelloux-Prayer
7748e50138
gallium: add new cap PIPE_CAP_DEVICE_PROTECTED_CONTENT
...
Will be used to implement EGL_EXT_protected_surface.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5096 >
2020-11-02 10:15:47 +01:00
Erik Faye-Lund
a22cedf4f0
docs: anistropy -> anisotropy
...
While one of these is referring to an identifier, the actual identifier
is correctly spelled.
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7060 >
2020-10-28 10:27:51 +00:00
Erik Faye-Lund
580b9d11ff
docs: ie. -> i.e.
...
Reviewed-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7060 >
2020-10-28 10:27:51 +00:00
Eric Anholt
313f951f1b
docs: Move the gallium driver documentation to the top level.
...
I actually had never found these, buried under Developer Topics -> Gallium
-> Drivers. Given that driver documentation contains not just gallium
driver documentation but also end-user information, bring it to a much
more prominent location between User Topics and Developer Topics at the
top level.
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7174 >
2020-10-21 18:11:39 +00:00
Erik Faye-Lund
d50e8554b9
zink: add feature-documentation
...
This adds some documentation for the current feature-set in Zink,
explaining what extensions are currently needed for what functionality.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7116 >
2020-10-14 14:23:43 +00:00
Marek Olšák
593517a775
gallium: add pipe_context::set_inlinable_constants
...
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6955 >
2020-10-07 17:30:12 +00:00
Erik Faye-Lund
40cb54270c
docs: flavours -> flavors
...
We generally prefer US English over UK English in the docs.
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6894 >
2020-09-29 09:00:36 +00:00
Erik Faye-Lund
6ec9a7ec57
docs: consistantly -> consistently
...
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6894 >
2020-09-29 09:00:36 +00:00
Erik Faye-Lund
9890927a84
docs: behaviour -> behavior
...
Most of our documentation is US English, so let's stick to that.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864 >
2020-09-28 07:54:25 +00:00
Erik Faye-Lund
33180434af
docs: unecessarily -> unnecessarily
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864 >
2020-09-28 07:54:25 +00:00
Erik Faye-Lund
fa834fd365
docs: make two acronyms upper-case
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864 >
2020-09-28 07:54:25 +00:00
Erik Faye-Lund
58512ce3dc
docs: frambuffer -> framebuffer
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864 >
2020-09-28 07:54:25 +00:00
Erik Faye-Lund
3fffa27a3b
docs: apis -> APIs
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864 >
2020-09-28 07:54:25 +00:00
Erik Faye-Lund
255019340c
docs: everytime -> every time
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6864 >
2020-09-28 07:54:25 +00:00
Marek Olšák
22253e6b65
gallium: rename PIPE_TRANSFER_* -> PIPE_MAP_*
...
Acked-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5749 >
2020-09-22 03:20:54 +00:00
Pierre-Eric Pelloux-Prayer
fc6df020e3
gallium: add PIPE_CAP_MAX_TEXTURE_MB
...
Allows driver to override the default value (1024) from mesa.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6754 >
2020-09-21 14:14:48 +02:00
Pierre-Eric Pelloux-Prayer
d94bec5c49
mesa/st: introduce PIPE_CAP_NO_CLIP_ON_COPY_TEX
...
If supported this means that src_x/src_y/width/height parameters of
CopyTex functions will not be clipped using the read framebuffer's dimensions.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6259 >
2020-09-02 11:53:16 +02:00
Gert Wollny
a03e24aa7f
gallium + mesa/st: Add PIPE_CAP_NIR_ATOMICS_AS_DEREF and use it
...
This cap is useful for drivers that support hardware atomics and need
special handling to resolve their addresses.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6025 >
2020-08-09 13:45:32 +00:00
Rob Clark
c4e0cae90c
gallium: replace 16BIT_TEMPS cap with 16BIT_CONSTS
...
All drivers that support mediump lowering should support 16BIT_TEMPS,
but some do not also want 16b consts to be lowered. Replace the pipe
cap in preperation to remove LowerPrecisionTemporaries.
Note: also updates reference checksums for the arm64_a630_traces job,
due to lowering more to 16b
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6189 >
2020-08-05 21:00:44 +00:00
Erik Faye-Lund
fd20e98624
docs: add some very basic documentation about zink
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5967 >
2020-07-22 15:20:00 +00:00
Elie Tournier
377731ec1b
gallium: Add PIPE_CAP_BLEND_EQUATION_ADVANCED
...
Signed-off-by: Elie Tournier <elie.tournier@collabora.com >
Reviewed-by: Gert Wollny <gert.wollny@collabora.com >
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516 >
2020-07-17 06:19:16 +00:00
Karol Herbst
c0f7f833eb
gallium: add PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY
...
With the current UAPI we only support user pointers from the compute
engines, so we need a way to express that in gallium.
v2: fix typos
v3: add allows_user_pointers helper
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906 >
2020-07-14 19:59:12 +00:00
Michel Dänzer
89caa485f1
Revert https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580
...
It broke the CI pipeline on master:
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/3604314
https://gitlab.freedesktop.org/mesa/mesa/-/jobs/3604315
Revert for now, to allow other MRs to be merged.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5905 >
2020-07-14 17:08:10 +02:00
Karol Herbst
dd2cc5bc44
gallium: add PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLY
...
With the current UAPI we only support user pointers from the compute
engines, so we need a way to express that in gallium.
v2: fix typos
v3: add allows_user_pointers helper
Signed-off-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Pierre Moreau <dev@pmoreau.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580 >
2020-07-14 14:04:59 +00:00
Marek Olšák
75b59bb1d6
gallium: add PIPE_SHADER_CAP_GLSL_16BIT_TEMPS for LowerPrecisionTemporaries
...
Reviewed-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746 >
2020-07-07 22:02:06 -04:00
Erik Faye-Lund
892fdde23f
docs: move gallium specific docs into gallium folder
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706 >
2020-07-07 10:22:08 +00:00
Erik Faye-Lund
ce5a3524fa
docs: clean up gallium index-file
...
This makes the TOC make much more sense.
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706 >
2020-07-07 10:22:08 +00:00
Erik Faye-Lund
2f81398187
merge gallium docs into main docs
...
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706 >
2020-07-07 10:22:08 +00:00