Pavel Asyutchenko
41f22a1823
gallium: add PIPE_CAP_FBFETCH_ZS and expose extension
...
st/mesa will expose GL_ARM_shader_framebuffer_fetch_depth_stencil
if this new capability is supported by the driver.
Signed-off-by: Pavel Asyutchenko <sventeam@yandex.ru >
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13979 >
2022-06-22 04:32:44 +00:00
Mike Blumenkrantz
371660b877
mesa/st: add PIPE_CAP_DITHERING
...
this is for drivers like zink that may or may not
handle dithering and so getting blend state changes
when this state changes isn't useful
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17043 >
2022-06-18 17:56:28 +00:00
Qiang Yu
fd27d5157f
gallium: disable hardware select for crocus
...
piglit select tests fail, so add a gallium cap to disable
for crocus explicitly.
crocus may choose to enable hardware select only for GPU
SKU which tested to be OK again.
Fixes: 6489af145c
("mesa: enable HardwareAcceleratedSelect")
Closes : #6644
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16955 >
2022-06-15 03:01:58 +00:00
Emma Anholt
c761f9bde5
gallium: Rename PIPE_CAP_TGSI_LEGACY_MATH_RULES to drop "TGSI"
...
Now NIR drivers can implement it as well.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:33 +00:00
Emma Anholt
76b203eb39
gallium: Rename MUL_ZERO_WINS to LEGACY_MATH_RULES.
...
This is a clearer name for what it does than MUL_ZERO_WINS, and matches up
to the new name in shader_info.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16176 >
2022-06-10 03:26:32 +00:00
Alyssa Rosenzweig
e749f67f89
mesa,gallium: Make point coord origin a CAP
...
When lower_wpos_pntc is used, the state tracker inserts code to
transform gl_PointCoord.y according to a uniform, to account for
API-requested point coordinate origin and framebuffer orientation. With
the transformation, driver-supplied point coordinates are expected to
have an upper left origin.
If the hardware point coordinate supports (only) a lower left origin,
the backend has to use lower_wpos_pntc and then lower *again* to flip
back. This ends up transforming twice, which is wasteful:
a = load point coord Y with lower left origin
a' = 1.0 - a
a'' = uniform_transform(a')
However, lower_wpos_pntc is quite capable of transforming for a lower
left origin too, it just needs to flip the transformation. Add a CAP
specifying the point coordinate origin convention, rather than assuming
upper-left. This simplifies the Asahi code greatly.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
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/16829 >
2022-06-08 14:10:50 +00:00
Marek Olšák
ad8f9d5d58
gallium: rename PIPE_CAP_MAX_SHADER_BUFFER_SIZE -> *_UINT
...
to imply the maximum of 4GB - 1.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:58 -04:00
Marek Olšák
fd6b8999d7
gallium: rename PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE->MAX_TEXEL_BUFFER_ELEMENTS_UINT
...
to allow exposing 4G - 1. The "SIZE" was also a misnomer because it meant
elements. This no longer clamps the size to INT_MAX in st/mesa.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:58 -04:00
Marek Olšák
dc4a3a18e9
gallium: add PIPE_CAP_MAX_CONSTANT_BUFFER_SIZE_UINT for UBOs
...
We plan to report UINT32_MAX for UBOs.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Marek Olšák
406cf871b2
gallium: rename PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE to *_BUFFER0_*
...
UBOs will use a larger limit.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16881 >
2022-06-07 00:17:57 -04:00
Emma Anholt
8c4b88ee48
gallium+glsl: Remove EmitNoSat/PIPE_CAP_VERTEX_SHADER_SATURATE
...
The drivers not setting it were:
- nv30, which gets lowering using NIR's lower_fsat flag.
- r300, which gets lowering using NIR's lower_fsat flag.
- a2xx, which has was getting it optimized back to fsat anyway.
This drops the check for the cap from gallium nine. While nine does have
a non-nir path, I think it's safe to assume that if you have SM3
texturing, you can do fsat.
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16823 >
2022-06-07 02:38:42 +00:00
Qiang Yu
e8658adaa8
virgl: return -1 for PIPE_CAP_ACCELERATED
...
There's no way currently in virgl to determine whether it's running
above CPU or GPU. This info will be used to disable HW SELECT.
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/15765 >
2022-06-06 18:23:49 +00:00
Timothy Arceri
26ff49038c
gallium: remove PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT CAP
...
This is used for the old, buggy and slow GLSL IR loop unrolling
code. All drivers have now switched to the NIR unrolling code so
here we remove the CAP.
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366 >
2022-06-04 16:11:49 +00:00
Emma Anholt
f3df3d4c80
glsl: Make all drivers take the GLSLOptimizeConservatively path.
...
Now that all consumers of GLSL use NIR, make the remaining drivers take
the path that relies on NIR to really do optimization.
nouveau steam shader-db runtime -6.69631% +/- 1.29235% (n=12).
No change on shader-db there.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16364 >
2022-05-10 05:03:34 +00:00
Emma Anholt
e9b491f9b5
gallium: Remove now-unused shader caps.
...
The only interesting ones here were LOWER_IF_THRESHOLD (which previously
had connected to some lowering in GLSL that was broken in the face of side
effects), and FMA (which turned GLSL IR's fma() into TGSI_OPCODE_FMA
instead of MAD).
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8044 >
2022-05-05 22:25:03 +00:00
Pierre-Eric Pelloux-Prayer
bd88bed855
gallium: add PIPE_CAP_ALLOW_DRAW_OUT_OF_ORDER
...
This way we can make allow_draw_out_of_order true by default for all
apps, iff the driver allows it.
And allow_draw_out_of_order=false can still be used in drirc, for
apps that need this optim to be turned off.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16139 >
2022-04-29 07:52:59 +00:00
Mike Blumenkrantz
0f28da9cd4
gallium: add PIPE_CAP_MULTI_DRAW_INDIRECT_PARTIAL_STRIDE
...
GL spec states that the stride for indirect multidraws:
* cannot be negative
* can be zero
* must be a multiple of 4
some drivers can't support strides which are not a multiple of the
size of the indirect struct being used, however, so rewrite those to
direct draws
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15963 >
2022-04-21 02:29:09 +00:00
Erik Faye-Lund
7ca1253932
gallium: rename ldexp shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Erik Faye-Lund
439c212a3c
gallium: rename dfracexp/dldexp shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Erik Faye-Lund
3efd6d4bfe
gallium: rename dround shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Erik Faye-Lund
9b545ea691
gallium: rename continue shader-cap
...
This is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15922 >
2022-04-18 20:43:18 +00:00
Erik Faye-Lund
d5ed8d4126
gallium: rename image atomic inc-wrap cap
...
This cap is no longer TGSI specific, so let's rename it to reflect
reality.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15448 >
2022-03-23 08:54:06 +00:00
Erik Faye-Lund
880d848b7d
gallium: rename image atomic float-add cap
...
This cap is no longer TGSI specific, so let's rename it to reflect
reality.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15448 >
2022-03-23 08:54:06 +00:00
Erik Faye-Lund
ab26020017
gallium: rename window-space position cap
...
This cap is no longer TGSI specific, so let's rename it to reflect
reality.
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15448 >
2022-03-23 08:54:06 +00:00
Erik Faye-Lund
115298b71e
gallium: rename ballot cap
...
This cap is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
b3ce733da9
gallium: rename clock cap
...
This cap is no longer TGSI specific, so let's rename it to reflect
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
7984c5884c
gallium: rename group-vote cap
...
This cap is no longer TGSI specific, so let's rename it to reflect
reality.
Because the name got a bit vague when removing the TGSI-bits, let's add
some more details to the name.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
a6d7ead686
gallium: rename texture query samples cap
...
This isn't specific to TGSI, so let's update the name to reflect
reality.
Because the name of the opcode was TGSI specific, let's pick a new one,
based on the naming of the PIPE_CAP_TEXTURE_QUERY_LOD cap.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
930b38e7cd
gallium: rename read-outputs cap
...
This cap is no longer TGSI-specific, so let's update the name to reflect
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
2dff9bea4f
gallium: rename array-components cap
...
This cap is no longer TGSI specific, so let's update the name to reflect
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
350329feb1
gallium: rename sysval caps
...
These aren't spiecic to TGSI any more, so let's rename them to reflect
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
df40de91d9
gallium: rename fine derivative cap
...
This is no longer TGSI specific, so let's rename it to reflect the
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
2a8e11e101
gallium: rename pixel-coord caps
...
These aren't specific to TGSI, so let's rename them to reflect the
reality.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:42 +00:00
Erik Faye-Lund
89797fac56
gallium: rename layer-viewport caps
...
Similar to the previous commits, these aren't TGSI specific, so let's
drop TGSI from their name.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:41 +00:00
Erik Faye-Lund
8ac7dc9cf6
gallium: rename vs instance id cap
...
This cap is no longer specific to TGSI, so let's rename it and update
the documentation to reflect that.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:41 +00:00
Erik Faye-Lund
f8809fbdb8
gallium: rename pack half-float cap
...
This cap no longer has anything to do with TGSI, as the lowering happens
on GLSL IR, and applies just as much to NIR drivers. So let's rename
this cap and update the docs to reflect the current situation.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15316 >
2022-03-17 16:44:41 +00:00
Mike Blumenkrantz
7e9481eaac
gallium: add PIPE_CAP_CULL_DISTANCE_NOCOMBINE
...
for drivers where separate cull distance variables are required, this
lets them avoid having to write yet another pass to undo gallium's mangling
of shader info
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14878 >
2022-02-08 14:03:09 +00:00
Qiang Yu
d68087a1d9
gallium: add PIPE_CAP_CLAMP_SPARSE_TEXTURE_LOD
...
For ARB_sparse_texture_clamp.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
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/14488 >
2022-02-01 10:28:05 +00:00
Qiang Yu
fef018c307
gallium: add PIPE_CAP_QUERY_SPARSE_TEXTURE_RESIDENCY
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14362 >
2022-01-18 16:10:35 +08:00
Emma Anholt
c00db99e0e
gallium: Delete PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS
...
Softpipe was the only driver still using this feature. I had enabled it
in ba22f014f9
("softpipe: Enable PIPE_CAP_TGSI_ANY_REG_AS_ADDRESS;") for
an instr count win, but it's really not important to that driver and it's
not worth keeping the knob around just for that.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14360 >
2022-01-04 23:05:41 +00: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
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
Emma Anholt
9b2600da87
mesa/st: Remove GL_ARB_depth_clamp emulation support.
...
This was useful for emulating GL 3.2 in virgl on a GLES3 host renderer,
before GL_EXT_depth_clamp introduced the ability for hardware drivers to
expose the feature on GLES. Now that we have that, the desktop-GL-capable
HW that virgl cares about can expose desktop GL even on its GLES renderer
on the host without this emulation. I don't think anyone particularly
cares about hitting higher GL versions on actually-core-GLES hosts with
virgl.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Acked-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13729 >
2021-12-06 18:17:25 +00:00
Juan A. Suarez Romero
38c953e287
gallium: add new PIPE_CAP_IMAGE_STORE_FORMATTED
...
This capability is enabled for drivers supporting formatless image
writing in shader.
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu >
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13409 >
2021-12-03 15:32:36 +00:00
Mike Blumenkrantz
e7b9561959
gallium: implement compute pbo download
...
this reworks PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER into an
enum as PIPE_CAP_TEXTURE_TRANSFER_MODES, enabling drivers to choose
a (sometimes) faster, compute-based download mechanism based on a new
pipe_screen hook
compute pbo download is implemented using shaders with a prolog to convert
the input format to generic rgb float values, then an epilog to convert
to the output value. the prolog and epilog are determined based on a vec4
of packed ubo data which is dynamically updated based on the API usage
currently, the only known limitations are:
* GL_ARB_texture_cube_map_array is broken somehow (and disabled)
* AMD hardware somehow can't do depth readback?
otherwise it should work for every possible case
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11984 >
2021-11-18 08:00:07 -05:00
Mike Blumenkrantz
c9a47c85da
gallium: rename PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER
...
this is now a bitfield enum for more functionality
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11984 >
2021-11-18 07:58:29 -05:00
Vasily Khoruzhick
3bb192a15b
gallium: add PIPE_CAP_PREFER_POT_ALIGNED_VARYINGS
...
Driver should enable this cap if it prefers varyings to be aligned
to power of two in a slot, i.e. vec4 in .xyzw, vec3 in .xyz, vec2 in .xy
or .zw
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13151 >
2021-11-15 22:52:55 +00:00
Marek Olšák
cf9afc7b0c
gallium: add missing point and line CAPs
...
The returned values are the same as the GL frontend.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13676 >
2021-11-08 14:37:49 +00:00
Marek Olšák
b80dca86c3
gallium: rename PIPE_CAPF_MAX_POINT_WIDTH -> MAX_POINT_SIZE
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13676 >
2021-11-08 14:37:49 +00:00
Mike Blumenkrantz
8297d243fb
gallium: add PIPE_CAP_VERTEX_ATTRIB_ELEMENT_ALIGNED_ONLY
...
vulkan requires that vertex attribute access be aligned to the size of
a component for the attribute, but GL has no such requirements
the existing alignment caps are unnecessarily restrictive for applying
this limitation, so this cap now pre-calculates the masks for elements
and vertex buffers in vbuf to enable rewriting misaligned buffers
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13556 >
2021-11-03 20:03:55 +00:00