gallium: Add new caps PIPE_CAP_LINEAR_IMAGE_(PITCH_ALIGNMENT|BASE_ADDRESS_ALIGNMENT)
authorAntonio Gomes <antoniospg100@gmail.com>
Sat, 7 Jan 2023 02:52:05 +0000 (23:52 -0300)
committerMarge Bot <emma+marge@anholt.net>
Tue, 7 Mar 2023 18:24:56 +0000 (18:24 +0000)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20378>

docs/gallium/screen.rst
src/gallium/auxiliary/util/u_screen.c
src/gallium/include/pipe/p_defines.h

index e6f3c8c..cb66016 100644 (file)
@@ -162,6 +162,12 @@ The integer capabilities:
 * ``PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT``: Describes the required
   alignment for pipe_sampler_view::u.buf.offset, in bytes.
   If a driver does not support offset/size, it should return 0.
+* ``PIPE_CAP_LINEAR_IMAGE_PITCH_ALIGNMENT``: Describes the row pitch alignment
+  size that pipe_sampler_view::u.tex2d_from_buf must be multiple of, in pixels.
+  If a driver does not support images created from buffers, it should return 0.
+* ``PIPE_CAP_LINEAR_IMAGE_BASE_ADDRESS_ALIGNMENT``: Describes the minimum alignment
+  in pixels of the offset of a host pointer for images created from buffers.
+  If a driver does not support images created from buffers, it should return 0.
 * ``PIPE_CAP_BUFFER_SAMPLER_VIEW_RGBA_ONLY``: Whether the driver only
   supports R, RG, RGB and RGBA formats for PIPE_BUFFER sampler views.
   When this is the case it should be assumed that the swizzle parameters
index 8c8a66c..c0ed2f0 100644 (file)
@@ -179,6 +179,12 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
       /* GL_EXT_texture_buffer minimum value. */
       return 65536;
 
+   case PIPE_CAP_LINEAR_IMAGE_PITCH_ALIGNMENT:
+      return 0;
+
+   case PIPE_CAP_LINEAR_IMAGE_BASE_ADDRESS_ALIGNMENT:
+      return 0;
+
    case PIPE_CAP_MAX_VIEWPORTS:
       return 1;
 
index d7d0510..250fde8 100644 (file)
@@ -808,6 +808,8 @@ enum pipe_cap
    PIPE_CAP_BUFFER_SAMPLER_VIEW_RGBA_ONLY,
    PIPE_CAP_TGSI_TEXCOORD,
    PIPE_CAP_TEXTURE_BUFFER_SAMPLER,
+   PIPE_CAP_LINEAR_IMAGE_PITCH_ALIGNMENT,
+   PIPE_CAP_LINEAR_IMAGE_BASE_ADDRESS_ALIGNMENT,
    PIPE_CAP_TEXTURE_TRANSFER_MODES,
    PIPE_CAP_QUERY_PIPELINE_STATISTICS,
    PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK,